반응형
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Member member1 = new Member("park", 1);
Member member2 = new Member("kim", 2);
Member member3 = new Member("elle", 3);
Member member4 = new Member("choi", 4);
Member member5 = new Member("bake", 5);
Order order1 = new Order("kimchi", 10000, 2);
Order order2 = new Order("a", 10, 2);
Order order3 = new Order("k", 500, 2);
Order order4 = new Order("i", 5000, 2);
HashMap<Member, Order> hashMap = new HashMap<>();
hashMap.put(member1,order1);
hashMap.put(member2,order2);
hashMap.put(member3,order3);
hashMap.put(member4,order4);
// 오름차순
List<Map.Entry<Member, Order>> entryList = new ArrayList<>(hashMap.entrySet());
entryList.sort(Comparator.comparingInt(entry-> entry.getValue().price));
// 내림차순
List<Map.Entry<Member,Order>> sortedList = hashMap.entrySet()
.stream()
.sorted((e1, e2) -> Integer.compare(e2.getValue().price, e1.getValue().price))
.toList();
for (int i = 0; i < sortedList.size(); i++) {
System.out.println(sortedList.get(i).getKey().getName());
System.out.println(sortedList.get(i).getKey().name);
System.out.println(sortedList.get(i).getValue().price);
}
}
}
class Member {
String name;
int memberId;
public Member(String name, int memberId) {
this.name = name;
this.memberId = memberId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getMemberId() {
return memberId;
}
public void setMemberId(int memberId) {
this.memberId = memberId;
}
}
class Order {
String product;
int price;
int quantity;
public Order(String product, int price, int quantity) {
this.product = product;
this.price = price;
this.quantity = quantity;
}
public String getProduct() {
return product;
}
public void setProduct(String product) {
this.product = product;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public int getQuantity() {
return quantity;
}
public void setQuantity(int quantity) {
this.quantity = quantity;
}
}
반응형
'JAVA' 카테고리의 다른 글
[Java] 에러, 예외 정리하기 (1) | 2024.11.14 |
---|