Java Set , ArrayList 내림차순 오름차순 정렬






결과

결과






코드

package pk;

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;

public class Test {

	public static void main(String[] args) {
		Set<String> s = new HashSet<>() ;
		s.add("abc"); s.add("54c"); s.add("zsd");
		s.add("yx3"); s.add("abcd"); s.add("fds");
		s.add("543"); s.add("a1c"); s.add("bdef");
		
		Iterator<String> it = s.iterator();
		System.out.print("기존 데이터 : ");
		while(it.hasNext()) {
			System.out.print(it.next() + " ");
		}
		
		
		List<String> list = new ArrayList<>(s);
		
		Collections.sort(list);
		System.out.print("\n오름차순 : ");
		for(String a : list) System.out.print(a + " ");
		
		System.out.print("\n내림차순 : ");
		Collections.sort(list, Collections.reverseOrder());
		for(String a : list) System.out.print(a + " ");
	}

}




- 기존 데이터를 보면 Set은 삽입 순서나 글자 순서같은 것과 무관하게 출력하는 것을 볼 수 있다.




- Set의 있는 데이터들을 정렬하기 위해서는 우선 Set -> List 변환하여야 한다.




- 변환한 후 Collections.sort() 를 사용하여서 정렬을 할 수 있다.


ㄴ 첫번째 인수 : 정렬 하고자하는 List

ㄴ 두번째 인수 : Collections.reverseOrder()을 줌으로써 내림차순으로 정렬할 수 있다.

( 생략 시 기본적으로 오름차순으로 정렬한다. )



해당 방법은 List를 정렬하는 방법이므로 ArrayList도 같은 방법으로 정렬을 할 수 있다.








+ Recent posts