public static void main(String[] args) {
List list = new ArrayList();
List l2 = new ArrayList();
list.add("1");
list.add("0");
list.add("1");
list.add("2");
list.add("1");
list.add("1");
list.add("1");
list.add("1");
list.add("1");
list.add("1");
list.add("1");
list.add("1");
list.add("1");
list.add("1");
list.add("5");
list.add("1");
list.add("1");
list.add("1");
list.add("3");
list.add("1");
String s="";
for (int i = 0; i < list.size() ; i++) {
if (list.get(i).equals("1")) {
s+=i+",";//将所有与1相等的元素位置都标记到字符串中
}
}
if(s.length()>0){
s=s.substring(0, s.length()-1);//去掉最后一个逗号
System.out.println(s);
String []t=s.split(",");//将元素位置都转化成字符串数组
for(int j=t.length-1;j>=0;j--){
System.out.print(t[j]+",");
list.remove(Integer.parseInt(t[j]));//倒序除去list元素(正序的话元素会移位)
}
}
System.out.println("\n"+list);
}
输出结果为:
0,2,4,5,6,7,8,9,10,11,12,13,15,16,17,19
19,17,16,15,13,12,11,10,9,8,7,6,5,4,2,0,
[0, 2, 5, 3]