Programing Language/JAVA

Collection과 람다식을 활용한 데이터 처리 정리 - 1

칼쵸쵸 2022. 5. 12. 23:57

# 다중 조건 정렬

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