목차
1. 맵을 Key를 기준으로 정렬
2. 맵을 Value를 기준으로 정렬
3. 리스트를 배열로 변환하는 방법
1. 맵을 Key를 기준으로 정렬
import java.util.*;
public class Main {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("classic", 500);
map.put("Newage", 1000);
map.put("pop", 300);
map.put("rock", 400);
map.put("rap", 200);
// 1. 오름차순
List<String> keyList = new ArrayList<>(map.keySet());
Collections.sort(keyList);
// 2. 내림차순 정렬
Collections.sort(keyList, Collections.reverseOrder());
}
map.keySet()으로 map의 key 리스트를 조회하고, key 리스트를 Collections.sort로 정렬한다.
Collections.sort()는 오름차순 정렬
매개변수 인자로 Collections.reverseOrder()를 넣어주면 내림차순 정렬이 된다.
2. 맵을 Value를 기준으로 정렬
import java.util.*;
public class Main {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("classic", 500);
map.put("Newage", 1000);
map.put("pop", 300);
map.put("rock", 400);
map.put("rap", 200);
// 1. 오름차순
List<String> keyList = new ArrayList<>(map.keySet());
keyList.sort(new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return map.get(o1).compareTo(map.get(o2));
}
});
// 2. 내림차순
keyList.sort(new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return map.get(o2).compareTo(map.get(o1));
}
});
}
}
익명함수와 Comparator를 사용해 정렬하는 방식이다.
3. 리스트를 배열로 변환하는 방법
① List<Integer> → int[] 변환
import java.util.*;
public class Main {
public static void main(String[] args) {
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
// 스트림을 사용하여 List<Integer> → int[] 변환
int[] array = list.stream().mapToInt(Integer::intValue).toArray();
// 출력
System.out.println(Arrays.toString(array));
}
}
② int[] → List<Integer>변환
import java.util.*;
public class Main {
public static void main(String[] args) {
int[] array = {1, 2, 3, 4, 5};
// 스트림을 사용하여 int[] → List<Integer> 변환
List<Integer> list = Arrays.stream(array).boxed().collect(Collectors.toList());
// 출력
System.out.println(list);
}
}
③ List<String> → String[] 변환
import java.util.*;
public class Main {
public static void main(String[] args) {
List<String> list = Arrays.asList("apple", "banana", "cherry");
// toArray()를 사용하여 List<String> → String[] 변환
String[] array = list.toArray(new String[0]);
// 출력
System.out.println(Arrays.toString(array));
}
}
④ String[] → List<String> 변환
import java.util.*;
public class Main {
public static void main(String[] args) {
String[] array = {"apple", "banana", "cherry"};
// Arrays.asList()를 사용하여 String[] → List<String> 변환
List<String> list = Arrays.asList(array);
// 출력
System.out.println(list);
}
}
목차
1. 맵을 Key를 기준으로 정렬
2. 맵을 Value를 기준으로 정렬
3. 리스트를 배열로 변환하는 방법
1. 맵을 Key를 기준으로 정렬
import java.util.*;
public class Main {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("classic", 500);
map.put("Newage", 1000);
map.put("pop", 300);
map.put("rock", 400);
map.put("rap", 200);
// 1. 오름차순
List<String> keyList = new ArrayList<>(map.keySet());
Collections.sort(keyList);
// 2. 내림차순 정렬
Collections.sort(keyList, Collections.reverseOrder());
}
map.keySet()으로 map의 key 리스트를 조회하고, key 리스트를 Collections.sort로 정렬한다.
Collections.sort()는 오름차순 정렬
매개변수 인자로 Collections.reverseOrder()를 넣어주면 내림차순 정렬이 된다.
2. 맵을 Value를 기준으로 정렬
import java.util.*;
public class Main {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("classic", 500);
map.put("Newage", 1000);
map.put("pop", 300);
map.put("rock", 400);
map.put("rap", 200);
// 1. 오름차순
List<String> keyList = new ArrayList<>(map.keySet());
keyList.sort(new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return map.get(o1).compareTo(map.get(o2));
}
});
// 2. 내림차순
keyList.sort(new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return map.get(o2).compareTo(map.get(o1));
}
});
}
}
익명함수와 Comparator를 사용해 정렬하는 방식이다.
3. 리스트를 배열로 변환하는 방법
① List<Integer> → int[] 변환
import java.util.*;
public class Main {
public static void main(String[] args) {
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
// 스트림을 사용하여 List<Integer> → int[] 변환
int[] array = list.stream().mapToInt(Integer::intValue).toArray();
// 출력
System.out.println(Arrays.toString(array));
}
}
② int[] → List<Integer>변환
import java.util.*;
public class Main {
public static void main(String[] args) {
int[] array = {1, 2, 3, 4, 5};
// 스트림을 사용하여 int[] → List<Integer> 변환
List<Integer> list = Arrays.stream(array).boxed().collect(Collectors.toList());
// 출력
System.out.println(list);
}
}
③ List<String> → String[] 변환
import java.util.*;
public class Main {
public static void main(String[] args) {
List<String> list = Arrays.asList("apple", "banana", "cherry");
// toArray()를 사용하여 List<String> → String[] 변환
String[] array = list.toArray(new String[0]);
// 출력
System.out.println(Arrays.toString(array));
}
}
④ String[] → List<String> 변환
import java.util.*;
public class Main {
public static void main(String[] args) {
String[] array = {"apple", "banana", "cherry"};
// Arrays.asList()를 사용하여 String[] → List<String> 변환
List<String> list = Arrays.asList(array);
// 출력
System.out.println(list);
}
}