1、给定集合 输入集合 【a a b c c b b a】 转为输出【【a a】,【b】,【c,c】,【b,b】【a】】
package sample.cluster.simple;
import com.google.common.collect.Lists;
import java.util.*;
public class ListTest {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
//给定集合 集合 【a a b c c b b a】
// 转为【【a a】,【b】,【c,c】,【b,b】【a】】
list.add("a");
list.add("a");
list.add("b");
list.add("c");
list.add("c");
list.add("b");
list.add("b");
list.add("a");
List<List<String>> result = Lists.newArrayList();
List<String> first = Lists.newArrayList();
for (int i = 0; i < list.size(); i++) {
if (i == 0) {
first.add(list.get(i));
} else if (i != list.size() - 1) {
if (first.contains(list.get(i))) {
first.add(list.get(i));
} else {
result.add(first);
first = Lists.newArrayList();
first.add(list.get(i));
}
} else if (i == list.size() - 1) {
if (first.contains(list.get(i))) {
first.add(list.get(i));
result.add(first);
} else {
result.add(first);
first = Lists.newArrayList();
first.add(list.get(i));
result.add(first);
}
}
}
for (int i = 0; i < result.size(); i++) {
int index = 0;
for (int j = 0; j < i; j++) {
index = index + result.get(j).size();
}
for (int j = 0; j < result.get(i).size(); j++) {
System.out.println(index + j);
System.out.println(list.get(index+j) + "==" +result.get(i).get(j));
}
}
}
}