티스토리 뷰

Language/JAVA

Java List사용법

KyeongRok Kim 2017. 7. 24. 14:29

Java List사용법 


Java List란?

List 인터페이스를 말한다. List는 순서가 없고 계속 추가를 할 수 있는 자료구조이다.


Java List에서 특정 조건으로 검색해서 object찾기


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@Test
public void filter() throws Exception {
    List<GameMap> list =new ArrayList<>();
 
    //object를 생성해서 list에 넣는다.
    GameMap gameMap1 = new GameMap(111"abc");
    GameMap gameMap2 = new GameMap(113"abc");
    list.add(gameMap1);
    list.add(gameMap2);
 
    assertEquals(2, list.size());
 
    //sourceType이 3인것을 뽑아서 0번째를 선택함
    GameMap selectedGameMap = list.stream().filter(item -> item.getSourceType() == 3).collect(Collectors.toList()).get(0);
    assertEquals(3, selectedGameMap.getSourceType());
        
}
cs


stream().filter() 를 이용한다.



List 조건 두개로 소팅(sorting)하기

return list.stream().sorted(
comparing(User::getAge)
.thenComparing(comparing(User::getName).reversed()))
.collect(Collectors.toList());


Age와 Name으로 정렬함. 그런데 이름은 역순정렬(내림차순)임


set을 list로 바꾸기

List list = new ArrayList(new Set());


이렇게 하면 set을 list로 바꿀 수 있다.



lambda로 List<String> 을 List<Integer>로 형변환 한번에 하기


list를 형변환 하고 싶을 때가 있다.

그런데 변수 선언하고 for를 돌리면 여러줄이 필요하지만 람다를 이용하면 한줄로 할 수 있어서 코드 길이가 짧아져서 이 방법을 쓴다.


1
2
List<String> l1 = Arrays.asList("1""2""3");
List<Integer> r1 = l1.stream().map(s -> Integer.parseInt(s)).collect(Collectors.toList());
cs


그리고 스트림(stream)을 쓰면 멀티코어 프로세싱 할 때 좀 더 좋다.




end.



728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함