* String
String[] tokens = string.split(",") ;
* Collection
Collection.sort(List list) - 리스트에 있는 내용을 알파벳순으로 정렬.
단 list에 있는 item이 Comparable이 구현되어 있어야 합니다. 즉 목록에 있는 원소의 compareTo() 메소드에 의해 순서가 정렬됨.
class ExamItem implements Comparable<ExamItem> {
...
public int compareTo(ExamItem s) {
/* 리턴값 : 음수 - 인자로 전달된 값이 더 크다, 양수 - 인자로 전달된 값이 더 작다. */
}
}
Collection.sort(List o, Comparator c) - Comparator의 compare() 메소드을 호출하여 정렬
* ArrayList
ArrayList<String> list = new ArrayList<String> () ;
System.out.println(list) ;
** 참고: System.out.println(aObject or aList) :
리스트(객체)에 있는 toString()메소드을 호출, 기본적으로 제공되는 유일 식별자 코드 말고
다른 걸 출력하고 싶다면 이 메소드를 오버라이드 합니다.
** 메소드를 선언할 때 인자유형을 ArrayList<Animal>로 선언하면 Animal의 하위 클래스로 된 ArrayList<Dog>나 ArrayList<Cat>은 인자로 받지 못합니다.
** 위의 문제점을 해결하기 위해서는 와일드카드을 사용합니다.
public void takeAnimal(ArrayList<? extends Animal> animal) {...} 또는
public <T extends Animal>void takeAnimal(ArrayList<T> animal)
단 선언할 때 <?>와일드카드를 사용하면 컴파일러에서 목록에 뭔가를 추가하는 작업을 전혀 허가하지 않게 됩니다.
* TreeSet
원소들을 정렬된 상태로 유지(알파벳순서대로 정렬)하며 원소가 중복되어 들어가지 않게 해줍니다. TreeSet을 사용하려면 아래의 두가지 조건 중 하나는 만족하여야 합니다.
** 집합에 들어가는 원소가 Comparable을 구현하는 유형이어야 합니다.
** Comparator를 인자로 받아들이는 TreeSet의 오버로드된 생성자를 사용합니다.
public class BookCompare implements Comparator<Book> {
public int compare(Book one, Book two) { return ( ...) } ;
}
class Test {
Bookcompare bCompare = new BookCompare() ;
TreeSet<Book> tree = new TreeSet<Book>(bCompare) ;
...
}
* HaspMap
원소들을 이름/값 쌍 형식으로 저장하고 접근할 수 있게 해줍니다.
* LinkedList
컬렉션 중간에서 원소를 추가하거나 삭제하는 작업을 더 빠르게 처리할 수 있게 해줍니다.
* HashSet
컬렉션 중복된 원소가 들어가지 않도록 해주고, 컬렉션 내에서 어떤 원소를 빠르게 찾을 수 있게 해줍니다.
* LinkedHaspMap
일반 HaspMap과 거의 똑같지만 원소(이름/값 쌍)가 삽입된 순서를 그대로 유지시켜줄 수도 있고, 원소의 마지막으로 접근했던 순서를 기억하도록 설정할 수 있다는 점이 다릅니다.