Java复习-arraylist和vector

本文探讨了ArrayList和Vector在Java中的使用及其性能特点。ArrayList适用于大多数情况,可通过预先设置容量提高性能;Vector虽然线程安全但效率较低。文章还介绍了trimToSize()方法以减少内存占用。

通常的编程场景,程序员无需关心ArrayList和vector需要保存多少个元素,但是如果想其中添加大量元素的时候,

ArrayList bioArrayList=new ArrayList<>();
bioArrayList.ensureCapacity(100000000);

可以这样写,这样减少了重复分配的次数,从而提高了性能,如果没有设置的时候默认的大小为10

java.util.ArrayList.trimToSize() 方法修整此ArrayList实例的是列表的当前大小的容量。应用程序可以使用此操作,以尽量减少一个ArrayList实例的存储。

package com.yiibai;

import java.util.ArrayList;

public class ArrayListDemo {
  public static void main(String args[]) {

    // create an empty array list with an initial capacity
    ArrayList<Integer> arrlist = new ArrayList<Integer>(5);
	
    // use add() method to add elements in the list
    arrlist.add(35);
    arrlist.add(20);
    arrlist.add(25);
	
    // Trim the arraylist
    arrlist.trimToSize();

    // let us print all the elements available in list
    for (Integer number : arrlist) {
      System.out.println("Number = " + number);
    }
  }
}
vector尽量不要用,还有一个区别是ArrayList和vector的话ArrayList在线程方面是不安全的,当多个线程访问同一个ArrayList时候,vector线程是安全的,无须程序保证集合的同步性,因为vector是线程安全的

所以vector的性能比ArrayList的性能要低,但是也不推荐使用vector,而是使用collection的一个工具类使ArrayList变得安全。
对于stack,我们也要比较少的使用,因为他是继承于vector,所以性能也比较差。而是使用arraydeque来实现栈。

 

转载于:https://www.cnblogs.com/jianxin-lilang/p/6358705.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值