`
jackroomage
  • 浏览: 1217458 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

为什么随机删除 arraylist 效率比 LinkedList 效率高那?

 
阅读更多

public static void main(String[] args) {
           
      //为什么删减删除 arraylist 效率比 LinkedList 效率高那?
       
//         LinkedList<Integer> hm= new LinkedList<Integer>(); //时间=1781
         ArrayList<Integer> hm= new ArrayList<Integer>();  //时间=547
         
            int ui=50000;
            for(int i=0;i<ui;i++){
                 hm.add(i);
            }
       
           long  l1 = System.currentTimeMillis();
            for(int i=0;i<ui;i++){
                int it=(int)(Math.random()*(hm.size()));
    //            System.out.println(hm.get(it));
                hm.remove(it);
            }
            long  l2 = System.currentTimeMillis();
      
            System.out.println("时间="+(l2-l1));
    }

分享到:
评论

相关推荐

    ArrayList LinkedList Vector性能对比

    3. **内存消耗**:LinkedList比ArrayList和Vector占用更多的内存,因为它需要存储额外的指针来维护链表结构。 4. **初始容量和增长策略**:预估集合大小并合理设置初始容量,可以减少不必要的扩容操作,提高性能。 ...

    ArrayList LinkedList Vector性能测试

    由于数组的特性,ArrayList在进行随机读取(get())时具有较高的效率,因为可以通过索引直接访问。但是,当需要插入或删除元素时,如果位置不是在末尾,就需要移动后续元素,这在大数据量下会变得较慢。 2. ...

    Java中ArrayList和LinkedList区别 时间复杂度 与空间复杂度1

    而如果经常进行插入、删除操作,尤其是中间位置的操作,LinkedList 有更高的效率。在处理大规模数据且需要高效排序时,考虑使用数组实现的其他数据结构,如 Tree 或 HashSet,可能会有更优的表现。

    Arraylist与LinkedList区别

    2,随机访问的时候,ArrayList的效率比较高,因为LinkedList要移动指针,而ArrayList是基于 3,索引(index)的数据结构,可以直接映射到。 4,插入、删除数据时,LinkedList的效率比较高,因为ArrayList要移动数据。 ...

    比较ArrayList、LinkedList、Vector1

    - **添加和删除**:对于在列表末尾的添加操作,ArrayList效率较高,因为只需简单地调整数组大小。但是,对于中间或开头的插入和删除,由于需要移动大量元素,效率较低。 - **线程安全**:ArrayList不是线程安全的...

    合理运用ArrayList与LinkedList

    这种设计使得在LinkedList中添加或删除元素时,只需更改相邻元素的引用,无需移动大量元素,因此在频繁的增删操作中,LinkedList通常比ArrayList更高效。但是,由于LinkedList的元素不是连续存储的,访问特定位置的...

    Java中ArrayList和LinkedList区别

    - LinkedList的每个元素都有额外的引用字段,导致其内存占用通常比ArrayList大。 5. 遍历性能: - 对于顺序遍历,LinkedList和ArrayList的性能相近,因为都需要逐个访问元素。 - 如果需要频繁插入、删除并同时...

    ArrayList-LinkedList-源码.rar

    由于链表的特性,LinkedList在插入和删除元素时具有较高的效率,特别是对于首尾操作,因为无需移动其他元素。然而,LinkedList的随机访问性能较差,获取任意位置的元素需要遍历链表,时间复杂度为O(n)。 接下来,...

    ArrayList 和LinkedList各自的特点是什么

    - **`LinkedList`**:适用于需要频繁进行插入和删除操作且对随机访问需求不高的场景。例如,在实现队列、栈等数据结构时,`LinkedList`因其插入和删除操作的高效性而成为更好的选择。 ### 使用建议 在实际开发过程...

    对比Vector、ArrayList、LinkedList1

    - **效率**:由于没有线程安全的开销,ArrayList在单线程环境中的效率更高,特别适合于频繁进行随机访问和尾部插入、删除操作的场景。 3. **LinkedList** - **数据结构**:LinkedList是基于双向链表实现的,每个...

    JDK1.6中Arraylist,Vector,LinkedList源码

    在Java编程语言中,ArrayList、Vector和LinkedList是三种常见的动态数组实现,它们都属于集合框架中的List接口。这里我们将深入探讨这三种数据结构的源码,理解它们的内部实现、性能特性和适用场景。 首先,...

    java中ArrayList与LinkedList对比详情

    然而,LinkedList 的效率相对较低,Java 还提供了 ArrayDeque 的高效率实现。 二、性能比较 在尾部插入效率上,ArrayList 和 LinkedList 的差异不大。但是,LinkedList 需要维护双向链表的关系,因此在存储效率上...

    ArrayList、ArrayDeque与LinkedList区别md,学习代码

    LinkedList的主要优点在于插入和删除元素的效率高,因为它不需要移动元素,只需改变节点间的引用关系。但是,由于需要遍历链表来访问元素,所以随机访问性能较差。 在实际应用中,如果对随机访问的需求较高,...

    深入浅析ArrayList 和 LinkedList的执行效率比较

    为了比较 ArrayList 和 LinkedList 的执行效率,我们可以编写测试代码来模拟各种操作,例如随机访问、顺序遍历、插入和删除等。以下是一个简单的测试类,用于测试 ArrayList 和 LinkedList 的性能: ```java public...

    ArrayList-LinkedList--Vector-Map.zip_vector

    在Java编程语言中,`ArrayList`、`LinkedList`、`Vector`和`Map`是四种常用的集合类,它们各自有着不同的特性和用途。本篇文章将深入探讨这些数据结构及其使用场景。 首先,我们来了解`ArrayList`。`ArrayList`是`...

    List效率的比较

    随机插入、随机删除操作中,用TreeList 效率最高;  2.在只需要追加、迭代的环境下,LinkedList 效率最高;  3.平均效率来讲,ArrayList 相对平衡,但如果海量随机操作,还是会造成性能瓶颈;  4....

    51. ArrayList LinkedList Set HashMap介绍.txt

    - **插入与删除效率高**:由于是链表结构,因此在链表头部或任意位置插入、删除元素的时间复杂度为 O(1)。 - **不适合随机访问**:访问链表中的某个元素需要从头开始遍历,时间复杂度为 O(n)。 - **应用场景**:适用...

    深入arraylist,linkedlist,hashmap,hashset源码(2012/3/18)

    因此,LinkedList在插入和删除操作上比ArrayList更高效,但随机访问性能较差。LinkedList的`addFirst()`、`removeLast()`和`get(index)`等方法的实现都是基于链表结构的,理解这些方法可以帮助我们选择何时使用...

    ArrayList-LinkedList:ArrayList和LinkedList的完整演示

    当我们通过索引获取或修改元素时,ArrayList表现出较高的效率。但是,ArrayList的插入和删除操作相对较慢,因为这些操作可能涉及到数组元素的移动。 LinkedList则使用双向链表结构,每个节点包含元素和指向前后节点...

    区分Java中的ArrayList和LinkedList

    1. 插入和删除元素的效率高:LinkedList基于链表结构,插入和删除元素时只需要更新链表的指针,效率较高。 2. 适合频繁插入和删除操作:LinkedList非常适合频繁插入和删除操作,因为它可以快速地插入和删除元素。 ...

Global site tag (gtag.js) - Google Analytics