javalist에서 중복 데이터 실례 찾기
요구 사항:
List 집합에서 모든 중복된 데이터를 찾습니다. 중복된 데이터는 한 무더기가 아닐 수 있습니다. 예를 들어 aa,bb,aa,bb,cc,dd,aa 같은 데이터입니다.만약에 중복 데이터가 있다면 이런 중복 데이터에 번호를 붙이고 상술한 데이터는 aa1,bb1,aa2,bb2,cc,dd로 바꾼다.
알고리즘은 다음과 같습니다.
public static void same(List<String> list) {
String [] indexArr ;
Map<String, String> map = new HashMap<String, String>();
for (int i = 0; i < list.size(); i++) {
String key = list.get(i);
String old = map.get(key);
if (old != null) {
map.put(key, old + "," + (i + 1));
} else {
map.put(key, "" + (i + 1));
}
}
Iterator<String> it = map.keySet().iterator();
int index = -1;
while (it.hasNext()) {
String key = it.next();
String value = map.get(key);
if (value.indexOf(",") != -1) {
System.out.println(key + " , : " + value);
indexArr = value.split(",");
for (int i = 0; i < indexArr.length; i++) {
index = Integer.parseInt(indexArr[i])-1;
list.set(index, list.get(index)+(1+i));
}
}
}
for (String val : list) {
System.out.println("val = "+val);
}
System.out.println("..................");
}
읽어주셔서 감사합니다. 여러분에게 도움이 되었으면 좋겠습니다. 본 사이트에 대한 지지에 감사드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
38. Java의 Leetcode 솔루션텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.