자바 구조 list, 중복 배열 통합
3674 단어 자바
repeatList=[
{sort='0', company='A ', value='28432'}
{sort='0', company='A ', value='8263685'}
{sort='0', company='A ', value='1234'}
{sort='0', company='B ', value='2234'}
{sort='0', company='B ', value='567'}
{sort='0', company='C ', value='85789'}
...
]
내 가 어떻게 해야만 그들 을 합병 할 수 있 습 니까?
list=[
{sort='0', company='A ', value1='28432' , value2='8263685',value3='1234'}
{sort='0', company='B ', value1='2234' , value2='567'}
{sort='0', company='C ', value1='85789'}
]
여 기 는 b 필드 의 회사 명 에 따라 같은 회사 의 서로 다른 데이터 구 조 를 함께 구성 하 는데 방법 은 다음 과 같다.
총화: 이중 옮 겨 다 니 기 + 다시 옮 겨 다 니 기
(1) 이중 스 트 리밍 구조 데이터:
// list,list , ,
List> oList = new ArrayList<>();
Map> map = new HashedMap();
// for
for(? input : repeatList){
List> list = map.get(input.getString("company"));
if (list == null) {
list = new ArrayList<>();
list.add(input);
map.put(input.getString("company"), list);
}
for (? input2 : repeatList){
if(input.getString("company").equals(input2.getString("company")) && !list.contains(input2)){
list.add(input2);
}
}
/* ,new ,
, for oLsit add, , ,
company sort , value */
? mergePd = new ?();
// for
for(? x : list){
mergePd.put("company", String.valueOf(x.get("company")));
mergePd.put("sort", String.valueOf(x.get("sort")));
// , value ,
String sign = 1;
mergePd.put("value" + sign, String.valueOf(x.get(value)));
sign ++;
}
oList.add(mergePd);
}
위의 구 조 를 거 쳐 이런 결과 가 나 올 수 있다.
oList=[
{sort='0', company='A ', value1='28432' , value2='8263685',value3='1234'}
{sort='0', company='A ', value1='28432' , value2='8263685',value3='1234'}
{sort='0', company='A ', value1='28432' , value2='8263685',value3='1234'}
{sort='0', company='B ', value1='2234' , value2='567'}
{sort='0', company='B ', value1='2234' , value2='567'}
{sort='0', company='C ', value1='85789'}
]
(2) 무 거 운 것 을 제거 하 는 것 은 모든 데 이 터 를 옮 겨 다 니 기 때문에 일정한 수량의 중복 이 발생 할 수 있 습 니 다. 이 럴 때 무 거 운 것 을 제거 하 는 절 차 를 밟 아야 합 니 다. 자바 의 set 방법 을 사용 하면 됩 니 다. 즉, 위의 방법 뒤에 보충 하 는 것 입 니 다.
//set outList ,
Set set = new HashSet(oList);
oList = new ArrayList(set);
List> outList;
outList.addAll(oList);
(3) 이때 의 결 과 는:
outList=[
{sort='0', company='A ', value1='28432' , value2='8263685',value3='1234'}
{sort='0', company='B ', value1='2234' , value2='567'}
{sort='0', company='C ', value1='85789'}
]
이것 은 우리 가 원 하 는 결과 에 이 르 렀 다.
제 공유 가 여러분 에 게 도움 이 되 었 으 면 좋 겠 습 니 다. 도움 이 된다 면 좋아요!!!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.