-
JAVA for , enhance for, StreamJava&Spring/Java 2022. 11. 1. 12:36
for 문 부터 보자.
1. 기존 방식이다.
for(int i =0;i<friends.size();i++){ if(friends_score.containsKey(friends.get(i).get(0))) { friends_score.put( friends.get(i).get(0),friends_score.get(friends.get(i).get(0)) + 10); } else if(friends_score.containsKey(friends.get(i).get(1))) { friends_score.put( friends.get(i).get(1),friends_score.get(friends.get(i).get(1)) + 10); } }
2. enhanced for 문 으로 변경하면 다음과 같다 , python 과 유사하다.
for (List<String> friend : friends) { if (friends_score.containsKey(friend.get(0))) { friends_score.put(friend.get(0), friends_score.get(friend.get(0)) + 10); } else if (friends_score.containsKey(friend.get(1))) { friends_score.put(friend.get(1), friends_score.get(friend.get(1)) + 10); } }
1. enhanced for 문이다
for (List<String> friend : friends) { if(friend.get(0).equals(user)) { friends_list.add(friend.get(1)); friends.remove(friend); } if(friend.get(1).equals(user)){ friends_list.add(friend.get(0)); friends.remove(friend); }; } friends_list.remove(user);
2.
for (int i = 0 ; i<friends.size();i++) { if(friends.get(i).get(0).equals(user)) { friends_list.add(friends.get(i).get(1)); // freinds inside there is // 이름들 목록에서 user 포함 리스트 제거 friends.remove(friends.get(i)); } if(friends.get(i).get(1).equals(user)){ friends_list.add(friends.get(i).get(0)); friends.remove(friends.get(i)); }; } friends_list.remove(user);
3 .Stream 을 이용하는 방식이다.
다음과 같이 value 는 내림, key는 올림 하고싶다.
A 25 C 17 B 15 E 15 D 10
Map<String, Integer> map = Map.of("A", 25, "D", 10, "B", 15, "E", 15, "C", 17); Map<String, Integer> result = map.entrySet().stream() .sorted(Comparator.<Map.Entry<String, Integer>>comparingInt(Map.Entry::getValue) .reversed().thenComparing(Map.Entry::getKey)) .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (a,b)->b, LinkedHashMap::new)); System.out.println(result);
'Java&Spring > Java' 카테고리의 다른 글
자료구조 Stack , add vs push (0) 2023.09.04 Sort : Arrays.sort() vs Collections.sort() & 배열 다중 정렬 및 출력 (0) 2023.09.04 GC 기본 개념 , 종류 (0) 2023.09.04 자바를 조심스럽게 열어 보았다 - Switch 문 (1) 2023.05.04 자바 Switch 문 vs If else 문 성능 비교 (0) 2022.09.29