Java에서 객체 컬렉션을 반전시키는 방법

> Collections: class: <Collections.reverse() 입니다. 개체 컬렉션으로 LinkedList를 선택했습니다. 동일한 메서드가 java.util.Collection입니다. LinkedList 인스턴스를 매개 변수로 전달해야 합니다. 이 메소드는 목록의 항목 순서를 반대로 하는 데 사용됩니다.

Example:

이 코드는 다음 세 가지 Java 객체 컬렉션을 처리합니다: ArrayList, LinkedList 및 Vector.

import java.util.Collections; 
import java.util.LinkedList;

public class inverse_collection {

public static void main(String[] args) {

LinkedList llist = new LinkedList();

llist.add("1");
llist.add("2");
llist.add("3");
llist.add("4");

System.out.println("반전 전: "+llist);

Collections.reverse(llist);

System.out.println("반전 후: "+llist);
}
}
Result:

반전 전: [1, 2, 3, 4]
반전 후: [4, 3, 2, 1]
java.util.Set 및 java.util.Map에서 상속되는 컬렉션은 Collections.reverse() 메서드에서 지원되지 않습니다. 그러나 부분적인 해결책이 가능합니다.
  • Set 인터페이스 또는 Map의 컬렉션으로 ArrayList의 인스턴스를 만듭니다
  • ArrayList
  • Items에 Collections.reverse() 메서드를 적용합니다. 뭐 하러? Set 인터페이스는 삽입 순서를 보장하지 않기 때문입니다.
참고: Map 인터페이스는 키/값 해시 테이블입니다. 즉, 요소의 순서를 유지하지 않기 때문에 결과를 Map을 구현하는 컬렉션에 다시 복사하지 않고 키 또는 값을 반전 할 수 있습니다.

TreeSet 의 예 :

import java.util.ArrayList; 
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.TreeSet;

public class Intervert {

public static void main(String[] args) {

// TreeSet
TreeSet tset = new TreeSet();

// 트리셋에 요소 추가
tset.add("a");
tset.add("b");
tset.add("c");

반복자 반복자 = tset.iterator();

// TreeSet 표시
System.out.println("오름차순으로 트리셋 요소: ");
while (반복자.hasNext()){
System.out.println(반복자.다음());
}

목록<문자열> 목록 = 새로운 ArrayList<문자열>(tset);

Collections.reverse(목록);

// 값을 반대로 표시합니다
System.out.println("트리셋의 역순 요소: ");
for(문자열 s:list)
System.out.println(s);
}
}
출력:

트리셋 요소를 오름차순으로 정렬: 
a
b
c
tree요소를 역순으로 설정합니다.
c
b
a