# 다중 조건 정렬
1. 데이터 입력
List<Student> list = new ArrayList<>();
Student s1 = new Student(11001244, "아무개", "서울시 금천구");
Student s2 = new Student(25109435, "김김김", "서울시 중랑구");
Student s3 = new Student(11005338, "사이다", "서울시 은평구");
list.add(s1);
list.add(s2);
list.add(s3);
2. 모두 오름차순 정렬
list.sort(Comparator.comparing(Student::getNum).thenComparing(Student::getName)
.thenComparing(Student::getAddress));
3. 이름만 내림차순
Comparator<Student> reverse = Comparator.comparing(Student::getName).reversed();
list.sort(Comparator.comparing(Student::getNum).thenComparing(reverse)
.thenComparing(Student::getAddress));
# Deque
import java.util.*;
Deque<T> deque = new LinkedList<>();
deque.addFirst() // 앞에 요소 삽입
addLast() // 뒤에 요소 삽입
peekFirst() // 앞 요소 반환
peekLast() // 뒤 요소 반환
pollFirst() // 앞 요소 없애면서 반환
pollLast() // 뒤 요소 없애면서 반환
# MIN, MAX
1. Max
int max = Collections.max(list);
System.out.println(max);
2. Min
int min = Collections.min(list);
System.out.println(min);
# int 배열, List<Integer> 처리
1. List to array
int arrListSize = arrList.size();
String arr[] = arrList.toArray(new String[arrListSize]);
int[] numArray = numList.stream().mapToInt(i->i).toArray();
2. List to String
String result = list.stream()
.map(n -> String.valueOf(n))
.collect(Collectors.joining());
3. Array to List
List<Integer> intList
= Arrays.stream(arr)
.boxed()
.collect(Collectors.toList());
#Enum 을 활용한 처리
1. Enum 생성
public enum Enum_EX {
MAX("max",1),
MIN("min",2),
MEAN("avg",3),
STD("stdev",4);
private final String name;
private final int index;
Enum_EX(String name, int index) {
this.name = name;
this.index = index;
}
public String getName() {
return this.name;
}
public int getindex() {
return this.index;
}
}
2. Enum to list
List<String> namelist = Arrays.stream(Enum_EX.values())
.map(Enum_EX::getName)
.collect(Collectors.toList());
List<Integer> indexlist = Arrays.stream(Enum_EX.values())
.map(Enum_EX::getindex)
.collect(Collectors.toList());
'Programing Language > JAVA' 카테고리의 다른 글
JAVA 바이트 코드 조작 (0) | 2024.04.16 |
---|---|
JAVA Concurrent 프로그래밍 (Completable Future) (0) | 2022.11.06 |
JAVA Thread 구현하기 (0) | 2021.02.25 |
Enumeration과 Iterator (0) | 2021.02.25 |
JAVA Exception 처리 (0) | 2021.02.23 |