`

关于集合的remove

阅读更多
public class collectionsTest {   
    public static void main(String[] args) {   
  
        TreeSet<Integer> set = new TreeSet<Integer>();   
        ArrayList<Integer> list = new ArrayList<Integer>();   
        Vector<Integer> vector = new Vector<Integer>();   
  
        char ch='a';
        for (int i = 0; i < 10; i++) {   
            set.add(10+i);   
            list.add(10+i);   
            vector.add(10+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());   
  
    }   
  
} 

先看个代码!!
这是别人的代码!!
自己分析下!1
先看输出
初始化后set里的值为:[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
初始化后list里的值为:[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
初始化后vector里的值为:[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
此时set的值为[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
此时后list的值为[11, 13, 15, 17, 19]
此时后vector的值为[11, 13, 15, 17, 19]

ArrayList和Vector都是继承与java.util.AbstractList<E>
的抽象类!!都是以链表的数据结构存在的!
都有方法  remove(int index)  remove(Object o)
有两种方法!根据索引去除 集合里的值 和直接去除对象值!
int numMoved = size - index - 1;
	if (numMoved > 0)
	    System.arraycopy(elementData, index+1, elementData, index, numMoved);


每remove一次后都有一次  指针的移动!!
也就是这是数组已不是刚才那个数组了!所有的元素补空了删除元素的空缺!!

注意这个函数的运用
System.arrayCoay();

分享到:
评论

相关推荐

    Java中ArrayList的removeAll方法详解

    ArrayList的removeAll方法是一个常用的集合操作方法,该方法可以从一个ArrayList中删除所有在另外一个集合中的元素。但是,在实际开发过程中,removeAll方法的使用需要 thận重,因为它可能会导致性能问题。 1. ...

    java中关于集合的操作

    - **删除元素**: `remove()`用于删除指定元素,`clear()`用于清空集合。 - **查找元素**: `contains()`检查元素是否存在,`indexOf()`查找元素索引。 - **迭代器**: 使用`iterator()`获取迭代器,遍历集合。 - *...

    C# 关于集合的程序

    本项目“C#关于集合的程序”显然关注的是如何在C#中有效地利用这些集合类来实现各种功能。 1. **List**: List是.NET框架中最常用的动态数组,它允许在运行时动态地添加、删除元素。List继承自IList接口,并实现了 ...

    List.removeAll() 方法的性能效率

    这个方法是集合框架的一部分,它提供了高效的方式来进行元素的删除操作。本文将深入探讨`removeAll()`方法的性能效率,以及如何在实际应用中优化其使用。 首先,`removeAll()`方法的实现基于迭代器,这意味着它会...

    Remove Wyg.rar

    1. **Remove Wyg Dir.bat**:这是一个批处理文件,扩展名".bat"表明这是一系列DOS命令的集合,用于自动化执行特定的任务。在这个上下文中,它的目的很可能是运行一系列命令来删除"Wyg"的相关文件夹或目录。用户只需...

    java 集合

    关于源码,Java集合框架的实现类通常包含了许多内部细节,比如数据结构的优化、线程安全的考虑等。例如,`ArrayList`底层使用的是动态增长的数组,而`LinkedList`则由双向链表构成,它们在插入和删除操作上的性能...

    集合框架学习笔记

    此外,Collection接口提供了addAll()、removeAll()和retainAll()等方法,用于集合间的操作。而List接口独有的add(int index, E element)和get(int index)方法支持指定位置的添加和获取元素。 Java集合框架还包括...

    Java集合排序及java集合类详解.pdf

    - `remove(Object o)`:从集合中移除指定元素。 - `contains(Object o)`:检查集合是否包含指定元素。 - `size()`:返回集合中的元素数量。 - `isEmpty()`:判断集合是否为空。 - `iterator()`:返回迭代器,...

    使用Iterator接口遍历集合元素

    hasNext() 方法用于判断集合中是否还有未被遍历的元素,next() 方法用于返回集合中的下一个元素,remove() 方法用于删除集合中的上一个元素。 Iterator 接口主要用于遍历集合元素,而不是提供盛装对象的能力。因此...

    java集合框架图

    - `removeAll(Collection c)`:从当前集合中移除另一个集合中的所有元素。 - `retainAll(Collection c)`:只保留当前集合中也出现在另一个集合中的元素。 4. **转换为数组**: - `toArray()`:将集合转换为数组...

    Java集合 练习代码

    在Java编程语言中,集合框架是处理对象组的重要工具,它提供了一种高效且灵活的方式来存储和操作数据。本练习代码主要围绕Java集合框架展开,包括ArrayList、LinkedList、HashSet、HashMap等各种类型的集合以及它们...

    java集合.docx

    如果在遍历过程中需要修改集合,推荐使用迭代器的remove()方法或列表迭代器。 总之,理解并熟练运用Java集合框架是提高代码效率和可维护性的重要基础。通过选择合适的集合类型,以及正确使用其提供的方法,可以优化...

    java集合详解.pdf

    * removeAll(Collection&lt;?&gt; c):删除集合中的所有元素。 * clear():清空集合中的所有元素。 1.2.2 迭代器 迭代器是 Collection 接口中的一个重要概念,它允许开发者遍历集合中的所有元素。迭代器可以使用 hasNext...

    Java集合框架总结

    - `void removeAll(Collection c)`:移除集合中出现在指定集合中的所有元素。 - `void retainAll(Collection c)`:保留集合中出现在指定集合中的元素,移除其他元素。 - `Object[] toArray()`:将集合转换为数组...

    java集合框架的使用。集合的运算

    set.remove("Element2"); ``` 2. 求子集:Java集合框架中的subSet()方法可用于获取集合的子集。例如,如果你有一个ArrayList,你可以获取它的某个范围作为子集: ```java List&lt;String&gt; list = new ArrayList...

    java 集合部分笔记

    `size()`返回元素数量,`isEmpty()`检查是否为空,`contains()`检查是否包含特定元素,`iterator()`返回迭代器遍历元素,还有`containsAll()`, `addAll()`, `clear()`, `removeAll()`, `retainAll()`等用于集合的...

    整数集合类的各种操作

    7. **集合的差集**:`removeAll()`方法可以获取第一个集合中不在第二个集合中的元素,即差集。 ```java Set&lt;Integer&gt; diff = new HashSet(set); diff.removeAll(set2); // diff现在包含1 ``` 8. **集合的补集**:...

    JAVA中的集合和js中集合

    `remove()`移除当前的元素。此外,对于`List`还提供了一个更强大的迭代器`ListIterator`,支持双向遍历以及插入、替换元素等功能。 ### JavaScript中的集合概念 虽然JavaScript原生并不像Java那样提供了一套完整的...

    java集合类详解(set list ArrayList等java集合类详述)

    Collection 是集合框架中的根接口,提供了基本的集合操作,如 add、remove、contains 等。Collection 接口没有实现类,因此需要通过其子接口来实现。 Set 是一个不能包含重复元素的集合,SortedSet 是一个按照升序...

    java集合迭代器Iterator中的remove陷阱

    1. **只能通过`Iterator`删除元素**:在Java中,当使用`Iterator`遍历集合时,推荐使用`Iterator`的`remove()`方法来删除元素,而不是直接调用集合对象的`remove()`方法。因为这可能会导致`...

Global site tag (gtag.js) - Google Analytics