转载自 这个问题中的一个回复,感谢大哥
public static void main(String[] args) { Listlist = Arrays.asList("a", "b", "a", "a", "a", "d", "d", "b"); HashMap map = new HashMap<>(15); Iterator it = list.iterator(); if (!it.hasNext()) { System.out.println("集合中没有元素!"); } String s = it.next(); if (s == null) { s = "空字符串"; } int cont = 0; int index = 0; while (it.hasNext()) { String temp = it.next(); if (temp == null) { temp = "空字符串"; } if (s.equals(temp)) { cont++; } else { System.out.println("\"" + s + "\"出现了" + (cont + 1) + "次"); indexMapBuild(cont, index, s, map); s = temp; cont = 0; } index++; } System.out.println("\"" + s + "\"出现了" + (cont + 1) + "次"); indexMapBuild(cont, index, s, map); } private static void indexMapBuild(int cont, int index, String s, HashMap map) { if (cont + 1 >= 2) { System.out.println("所在的开始索引:" + (index - cont)); System.out.println("所在的结束索引:" + index); ArrayList