需求如圖所示,僞代碼如下(返回List元素相同且相鄰元素的起始下標,沒有相同的就返回他的下標)
public static void main(String[] args) {
List<String> list = Lists.newArrayList();
list.add("日照");
list.add("日照");
list.add("日照");
list.add("威海");
list.add("日照");
list.add("日照");
list.add("日照");
list.add("青島");
list.add("青島");
list.add("威海");
list.add("威海");
list.add("威海");
start(list);
}
private static void start(List<String> list) {
for (int i = 0; i < list.size(); ) {
for (int t = i; t < list.size(); ) {
if (list.get(i) == list.get(t)) {
t++;
if (t == list.size()) {
int end = t;
System.out.println(list.get(i) + "-開始:" + i);
System.out.println(list.get(i) + "-結束:" + --end);
i = t;
break;
}
} else {
int end = t;
System.out.println(list.get(i) + "-開始:" + i);
System.out.println(list.get(i) + "-結束:" + --end);
i = t;
break;
}
}
}
}