查寻list中的重复数据,并得到重复数据索引位置
查找list中的重复数据,并得到重复数据索引位置
package cn.com.newglobe.action.attendance; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; public class Test2 { public static void main(String[] args) { List<String> strLs = new ArrayList<String>(); strLs.add("1_4"); strLs.add("1_7"); strLs.add("1_7"); strLs.add("1_9"); strLs.add("1_9"); strLs.add("7_7"); strLs.add("9_9"); strLs.add("1_13"); same(strLs); } public static void same(List<String> list) { 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(); while (it.hasNext()) { String key = it.next(); String value = map.get(key); if (value.indexOf(",") != -1) { System.out.println(key + " 重复,行: " + value); } } } }