Person (이름, 성, 나이)의 ArrayList가 있습니다. 이제이 ArrayList의 하위 집합을 복제하고 싶습니다. 30 세 이상인 Person의 새로운 ArrayList를 만들고 싶다고 가정합니다.
Person의 모든 속성을 읽고 새 ArrayList에 추가하는 반복을 설정하는 것은 그리 복잡하지 않습니다. 그러나 나는 더 이상 "우아하고"어쩌면 좀 더 유연한 방법이 있는지 궁금해하고있다. 어쩌면 내가 누락 된 일부 인터페이스를 구현할 수도있다. 단 하나의 요구 사항 : 기본 Java JDK API를 고수하고 싶습니다.이 목적을 위해 외부 lib를 통합하는 것은 과도합니다.
감사 최대ArrayList : 일부 항목 만 복제합니다.
답변
Collections.binarySearch
이 당신을 속일 수 있습니다.
여기에 몇 가지 예가 있습니다. Implement binary search in objects
당신 정확히 어떻게 바이너리 검색을 사용하고 싶은지 설명해야합니다. – jogojapan
그는 적절한 코드를 요구하지 않습니다. 검색 방법을 보여줍니다. –
나는 당신이 외부 라이브러리를 사용하지 않았다 알고 있지만, 당신이 선택할 않은 경우,이 조각은 도움이 될 :
List<Person> persons = getSomePersons();
Collection<Person> greaterThan30 = Collections2.filter(persons, new Predicate<Person>() {
public boolean apply(Person person) {
return person.age > 30;
}
});
는 그것은 Guava Libraries이 필요합니다. 기본적으로 형식 매개 변수를 사용하여 조건부 (Predicate) 클래스를 가져 오는 함수입니다. 수락 할 조건을 리턴하는 하나의 메소드 "적용"이 있습니다.
사람들이 자바를 사용하는 이유 중 하나입니다. 적절한 고차 함수 지원이 없습니다. 예를 들어, 스칼라에서는 다음과 같이 할 수 있습니다.
val greaterThan30 = persons.filter(_.age > 30)
그런 종류의 작업은 LINQ를 사용해야합니다. 그러나 LINQ는 Java에서 아직 사용할 수 없습니다. 계획에 따르면, 거 그 도착하기 전에 내가 루프를 사용하게 될 겁니다하지만 8
는하지만, 모든 의견에 대한 LambdaJ http://code.google.com/p/lambdaj/
Java 8에 들어가는 LINQ에 대한 참조를 제공 할 수 있습니까? –
http://openjdk.java.net/projects/jdk8/features#126 – Wins
LINQ는 아마도 단순한 폐쇄 이상의 것입니다. 그것은 SQL, XML 등등 위에 앉아있는 DSL입니다. –
- 1. 비동기 호출이 내 ArrayList 항목을 복제합니다.
- 2. 일부 항목 만 단추가있는 DataGridView 열?
- 3. LaTeX의 목록에서 일부 항목 만 선택하십시오.
- 4. ArrayList 잃는 항목
- 5. JQuery는 thead 테이블의 각 tr 만 복제합니다.
- 6. ArrayList 만들기 및 항목 추가
- 7. 기존 항목 그룹을 필터링하여 일부 조건과 일치하는 파일 만 포함합니다.
- 8. 레일 : 연관을 사용할 때 일부 항목 만 가져 오기
- 9. ArrayList 반복 및 일치 항목 가져 오기
- 10. 표시 JSP 내의 arraylist 내의 항목 목록
- 11. 데이터베이스 테이블간에 특정 데이터를 복제합니다.
- 12. ListView 예제는 결과보기에서 연락처를 복제합니다.
- 13. 목록에는 처음 두 항목 만 포함됩니다.
- 14. UITableView reloadData 데이터를 복제합니다.
- 15. ScriptManager는 javascript를 복제합니다.
- 16. SQL 쿼리에서 행을 복제합니다.
- 17. 일부 클릭 만 캡처하기 (일부 제외)
- 18. jquery ui sortable - 정렬 가능한 일부 항목 만 포함하거나 취소하는 경우 일부 대상
- 19. 일부 기준으로 데이터베이스 항목 롤링
- 20. Excel : 일부 조건에서 항목 확인
- 21. Android HashMap은 마지막 항목 만 표시합니다
- 22. arraylist of arraylist of
- 23. SVN - 일부 변경 만 커밋하십시오.
- 24. 목록보기에서 일부 변수 만 표시
- 25. OpenGL : 일부 텍스처 만 작동합니다.
- 26. 일부 작업으로 만 WSDL 필터링
- 27. create_update.update_object로 일부 필드 만 업데이트
- 28. UITableView는 일부 이미지 만 표시합니다.
- 29. 일부 문자 만 TextView에서 복사
- 30. 비활성화 마지막 : 하나의 항목 만
감사를 시도 자바에있을거야, 난 아직 배운 뭔가 멋진 –