자바에서 import할수 있는 Library들중에서 util안에 Java Collections Framework 가 존재한다. 그 안에는 Collection, Collections, Arrays 3가지에 대해 알아보도록 하자.

Collection
System.out.println();을 하면 HashCode (주소)Reference 변수에 저장되어 있는 주소값이 출력되는데 → 보통의 class객체들은 toString 메소드를 통해 이미 HashCode 또는 주소를 를 출력할수 있게 해놓았다. 하지만 Collections에서 제공하는 자료료구조들은 toString 메소드를 **@Override**시켜 안에 있는 값을 출력할수 있게 해 놓았다.//예를 들어
class ArrayList{
//멤버 변수
//메소드
//ToString
@Override
public String toString(){
return "[" + "" + "" + "" + "]";
}
}
@Override시키지 않으면 예를 들어 static Array나 class 객체들은 toString()에 의해 주소값이 튀어나온다. 하지만 그것을 위와같이 안의 멤버 변수들이 출력될수 있게 바꿔주는 것이다. (그래서 Collection 자료구조는 그냥 System.out.println(); 만 해도 안의 내용들(내부 자료들)이 출력되는 것)
→ 지금은 Java로 자료구조 구현까지는 모두 힘들고 일단 어떻게 돌아가는지만 알아두자
Collections
collections에 사용할 정적 유틸리티 메소드의 모음이다 (java.util.Collections). 앞선 Collection안의 자료구조로 생성된 객체들에 대해 sort, search 등의 기능을 static method로 제공하고 있다.
Arrays (Java Collections Framework의 Familiy member)
자바에서의 정적 배열 int[], double[]등을 대상으로 sort, search 등의 기능을 제공하는 static method이다. (여기에는 array를 ArrayList로 변환시키는 기능 또한 포함되어 있다)
Comparable & Comparator
객체를 sort하기 위해서는 그 기준이 필요하고 이에 따라 선언해줘야할 객체가 존재한다. 그에 대한 설명은 다음 링크를 타고 들어가보자. (primitive var <, >, = 로 대소 구분이 가능하지만, 객체는 그것이 불가능하다)
<aside> ☑️ References
</aside>
Conversion of Types (including Data Structure)
코딩테스트에서 return값을 요구하는 것이 int[] 정적배열 (Primitive Type & Static Array)에 담아서 보내는 경우들이 있다. 하지만 자바에서 Collection 내의 Library들은 (Reference Type & Dynamic Array)에 담겨서 작업이 진행된다.
→ 따라서 (Reference Type(Wrapper Class) & Dynamic Array) → (Primitive Type & Static Array)로 변환할수 있어야 한다.