Foo 객체의 ArrayList가 있습니다. Foo의 속성은 문자열 이름과 int 나이입니다. 나는 같은 이름을 하나 이상 갖고 싶지 않습니다. 그래서 같은 이름 일 때, 최고의 나이를 유지하십시오. 나는 Java로 갈 생각을 찾고있다.ArrayList의 객체 필터링
1
A
답변
2
- 당신이 만났던 현재 가장 나이가 많은 Foo를 추적하기 위해 Hashtable을 생성하십시오.
- ArrayList에서 반복하십시오. 각 Foo의 경우 :
- Hashtable에 주어진 이름의 항목이 포함되어 있지 않으면 해당 이름을 키로 추가하십시오.
- Hashtable에 주어진 이름의 Foo가 들어있는 경우 해당 이름을 확인하십시오.
- 현재 Foo의 나이가 Hashtable의 Foo 나이보다 큰 경우 Hashtable의 Foo를 찾고있는 Foo로 바꿉니다.
0
놓으 HashMap<String,Foo>
에 ArrayList<Foo>
각 (이름, 나이) 쌍. HashMap
에 이미 동일한 이름의 키가 포함되어있는 경우 연령을 비교하고 그에 따라 바꿉니다.
그런 다음 ArrayList
의 요소를 HashMap
의 요소로 바꿉니다.
HashMap<String,Foo> hashmap = new HashMap<String,Foo>();
for(Foo foo : arraylist) {
if(!hashmap.contains(foo.name) || hashmap.get(foo.name).age < foo.age)
hashmap.put(foo.name, foo);
}
arraylist.clear();
for(String name : hashmap.keySet()) {
arraylist.add(hashmap.get(name));
}
0
Map<String , Foo> foos = new HashMap<String , Foo>();
for (Foo foo : listFoos) {
Foo currentFoo = foos.get(foo.getName());
if (currentFoo == null) {
foos.add(foo.getName(), foo);
continue;
}
if (currentFoo.getAge() > foo.getAge())
continue;
foos.put(foo.getName() , foo);
}
이름 속성을 사용하는 등호와 푸에 해시 코드()를 구현합니다.
관련 문제
- 1. ArrayList의 Java Sorting 객체
- 2. AS3 객체 필터링
- 3. 상속 된 객체 필터링
- 4. 장고 - 매개 변수로 객체 필터링
- 5. ArrayList의 문제점
- 6. ArrayList의 객체 빈도 테이블 구성 <Object[]>
- 7. Django admin, 인라인 formset에 대한 객체 필터링
- 8. Django admin, ManyToMany 레퍼런스로 객체 필터링
- 9. Django를 사용하여 데이터베이스의 객체 계산 및 필터링
- 10. 간단한 ArrayList의 질문
- 11. arraylist의 요소 삭제 문제
- 12. ArrayList의 이상한 동작
- 13. ArrayList의 요소 유형 지정
- 14. arraylist의 크기를 줄입니다.
- 15. array와 ArrayList의 차이점은 무엇입니까?
- 16. arraylist의 요소가 중복되었습니다.
- 17. ArrayList의 시작 크기
- 18. ArrayList의 Int 인수는 무엇입니까?
- 19. Java ArrayList의 시간 복잡도
- 20. arraylist의 요소를 표시
- 21. Arraylist의 Arraylist 문자열 배열
- 22. ArrayList의 중복 값 인덱스 찾기
- 23. ArrayList의 ensureCapacity 메서드에 사용되는 논리
- 24. 문자열 배열에 arraylist의 내용을 추가합니다.
- 25. ArrayList의 ArrayList - EL 값으로 액세스하기
- 26. Java의 ArrayList의 메모리 크기는 무엇입니까
- 27. 안드로이드 ArrayList의 내용을 PHP로 보내기
- 28. JSP에서 ArrayList의 크기가 적절하지 않음
- 29. arrayList의 두 키를 사용하여 검색
- 30. 안드로이드 ArrayList의 응용 프로그램 클래스
이 숙제가 있습니까? –
hasmap 솔루션의 보조 노트로 'Comparator'도 찾아보십시오. –