[TIL]220328

beomjun·2022년 3월 28일
0

TIL

목록 보기
3/9
post-thumbnail

📃 오늘 한 것

🖌 배운것

  • Arrays클래스에는 배열을 다루는데 유용한 메서드가 정의되어 있다. 같은 기능의 메서드가 배열의 타입만 다르게 오버로딩 되어있다.
    • Arrays 클래스의 정의된 메서드는 모두 static 메서드이다.
  • Arrays클래스에는 copyOf(), copyOfRange(), fill(), setAll(), sort(), binarySearch(), equals(), toString(), asList() 가 있다
    • 배열을 List로 변환하는 asList(Object...a)는 배열을 List에 담아서 반환한다.
      매개변수의 타입이 가변인수라서 배열 생성 없이 저장할 요소들만 나열하는 것도 가능하다.
List list = Arrays.asLsit(1,2,3,4,5);
  • 주의할 점은 asList()로 반환한 List의 크기를 변경할 수 없어 추가 삭제가 불가능하다. 만약 변경이 필요하다면 아래와 같이 하면 된다.

    List list = new ArrayList(Arrays.asList(1,2,3,4,5));

  • Arrays.sort()를 호출만 하면 컴퓨터가 알아서 배열을 정렬하는 것처럼 보이지만 사실은 Comparalbe의 구현에 의해 정렬되었던 것이다.
    Comparator와 Comparable은 모두 인터페이스로 컬렉션을 정렬하는데 필요한 메서드를 정의하고 있으며,Comparable을 구현하고 있는 클래스들은 기본적으로 오름차순으로 구현되어 있다.

    public interface Comparator {
    	int compar(Object o1,Object o2);
    	boolean euquals(Object obj);
    }
    
    public interface Comparable{
    	public int comparTo(Object o);
       }
  • compare()와 compareTo()는 선어형태와 이름이 약간 다를 뿐 두 객체를 비교한다는 같은 기능을 목적으로 있다.

    • Comparalbe 은 기본 정렬기준을 구현하는데 사용하고 Comparator 은 기본정렬 기준 외에 다른 기준으로 정렬하고자할 때 사용한다.

📖내일 할 것

  • 알고리즘 1문제 풀기
  • 자바의 정석 11장
profile
백엔드 개발자 지망생

0개의 댓글