2013-03-19 1 views
-3

내가 자바 컬렉션을 가지고,이 컬렉션에 동일한 레코드가 단 하나의 필드 다른, 그래서 이런 컬렉션 의사를 통해 루프 할 :하나의 열을 제외한 모든 레코드가 동일한 필터 모음?

class Pojo { 
    private String name; 
    private Long id; 
    private String address; 
    private String bank; 
} 

컬렉션을 반복 이름이 뽀조를 포함, ID, 주소가 다르지만 은행이 다르다. 이름, ID, 주소가 같고 은행이 다른 경우 최종 목록에 이름, ID, 주소가 있고 모두 세미콜론으로 구분 된 은행을 연결하고 싶다

원본 컬렉션 :

- Id  Name  Address    Bank 
- 1  John  123 Main Ave   BankOfAmerica 
- 2  John  123 Main Ave   Chase 
- 3  John  123 Main Ave   ING Direct 
- 4  Willy 456 My Street   Chase 
- 5  Willy 456 My Street   BankOfAmerica 
,363,210

예상 결과 :

Name Address   Bank 
    - John 123 Main Ave  BankOfAmerica;Chase;ING Direct 
    - Willy 456 My Street  Chase;BankOfAmerica 
+2

"java"라는 질문에 태그를 달았습니다. "mysql"또는 이와 비슷한 태그를 추가해서는 안되는 것이 확실합니까? 어쩌면 당신은 실제로 데이터베이스 문제에 대한 도움을 얻을 것입니다. –

+0

더 나은 질문은 "왜 그런 식으로 데이터를 저장하고 있습니까?"라고 생각합니다. 재 설계가 필요한 데이터베이스를 읽고 계십니까? – Aurand

+0

1 - M 테이블 관계, 그래서 1 사람이 여러 은행을 가질 수 있습니다, 쿼리는 은행을 제외한 dups와 다중 레코드를 반환 다릅니다. – user2188700

답변

0

재정의 이름, ID와 주소로 POJO에/해시 방법 같습니다. 집합을 만들고 요소를 계속 추가합니다. 체크 ID를 추가하기 전에 객체는 이미 메소드를 호출하여 거기에 있습니다. 거기에 있다면, 새 집합에서 개체를 가져 와서 기존 컬렉션의 주소를 추가하여 주소를 업데이트하십시오.

관련 문제