ArrayList<String> list = newArrayList<>(); list.add("java"); list.add("aaa"); list.add("java"); list.add("java"); list.add("bbb"); //a) for (int i = list.size()-1;i >= 0; i--) { if("java".equals(list.get(i))){ list.remove(i); } } //b) for (int i =0; i <list.size(); i++) { if("java".equals(list.get(i))){ list.remove(i); } } b不能实现删除的功能,因为当i=2时,删除了java,之后集合会补上去,那么在集合的第3个空间里补上的java就不会被遍历到 所以不能实现,但a里面的从后向前删,就不会出现遍历不到的情况.感觉挺有趣的,思维拓展了.
|