关于TreeSet,ArrayList,Vector 删除某条记录后的探索

来源:互联网 发布:法那克系统编程 编辑:程序博客网 时间:2024/06/05 04:19
public class CollectionTest { public static void main(String[] args) { TreeSet set = new TreeSet(); ArrayList list = new ArrayList(); Vector vector = new Vector(); for (int i = 0; i < 10; i++) { set.add(i); list.add(i); vector.add(i); } System.out.println("初始化后set里的值为:" + set.toString()); System.out.println("初始化后list里的值为:" + list.toString()); System.out.println("初始化后vector里的值为:" + vector.toString()); for (int i = 0; i < 5; i++) { set.remove(i); list.remove(i); vector.remove(i); } System.out.println("此时set的值为" + set.toString()); System.out.println("此时后list的值为" + list.toString()); System.out.println("此时后vector的值为" + vector.toString()); } } 程序运行的结果:初始化后 set里的值为:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 初始化后list里的值为:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 初始化后vector里的值为:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 处理后set的值为[5, 6, 7, 8, 9] 处理后list 的值为[1, 3, 5, 7, 9] 处理后vector的值为[1, 3, 5, 7, 9]看出来了吗,最后list和和vector得到结果不是想象的[[5, 6, 7, 8, 9]],而是[1, 3, 5, 7, 9]。注解:List 里两个方法:public E remove(int index)。//每次删除一个元素,后面的元素自动全部向前移动; public boolean remove(Object o)//这个删除对象

0 0