728x90
반응형
* LinkedList는 요소들을 양방향으로 연결하여 관리한다는 점을 제외하고 Vector, ArrayList와 거의 같다.
LinkedList는 맨 앞과 맨 뒤를 가리키는 head, tail 레퍼런스를 가지고 있어, 맨 앞이나 맨 뒤, 중간에 요소의 삽입이 가능하며 인덱스를 이용하여 요소에 접근할 수 도 있다.
* Collections 클래스는 유용한 여러 메소드를 지원한다.
sort() - 컬렉션에 포함된 요소들의 정렬
reverse() - 요소를 반대 순으로 정렬
max(), min() - 요소들의 최댓값과 최솟값 찾아내기
binarySearch() - 이진 검색
Collections 클래스의 메소드는 모두 static 타입이므로 Collections 객체를 생성할 필요는 없다.
* Collections 클래스의 활용(정렬, 이진 검색)
package Ch7_Ex;
import java.util.*;
public class CollectionsEx {
static void printList(LinkedList<String> l) { // 리스트의 요소를 모두 출력하는 메소드
Iterator<String> iterator = l.iterator(); // Iterator 객체 리턴
while (iterator.hasNext()) { // Iterator 객체에 요소가 있을 때 까지 반복
String e = iterator.next(); // 다음 요소 리턴
String separator;
if(iterator.hasNext())
separator = "->"; // 마지막 요소가 아니면 -> 출력
else
separator = "\n"; // 마지막 요소이면 줄바꿈
System.out.println(e+separator);
}
}
public static void main(String[] args) {
LinkedList<String> myList = new LinkedList<String>(); // 빈 리스트 생성
myList.add("트랜스포머");
myList.add("스타워즈");
myList.add("매트릭스");
myList.add(0, "터미네이터");
myList.add(2, "아바타");
printList(myList); // 정렬 전 출력
Collections.sort(myList); // 요소 정렬
printList(myList); // 정렬된 요소 출력
Collections.reverse(myList); // 요소의 순서를 반대로 구성
printList(myList); // 요소 출력
int index = Collections.binarySearch(myList, "아바타") + 1;
System.out.println("아바타는 " + index + "번째 요소입니다.");
}
}
반응형
'IT > 자바공부' 카테고리의 다른 글
스트림 입출력 Stream, 명품 자바 프로그래밍 8장 (0) | 2022.06.13 |
---|---|
제네릭 클래스 만들기, 명품 자바 프로그래밍 7장 (0) | 2022.06.11 |
HashMap, 자바 명품 프로그래밍 7장 (0) | 2022.06.11 |
Iterator 순차 검색, 명품 자바 프로그래밍 7장 (0) | 2022.06.10 |
컬렉션 Vector의 활용, 명품 자바 프로그래밍 7장 (0) | 2022.06.10 |