【JAVA】Vector、ArrayList和LinkedList

动态数组中的一些方法

方法返回内容功能
List list=new ArrayList<>();创建一个新的数组创建一个新的数组
list.add(元素)void在数组末尾添加元素
list.add(位置,元素)void在指定位置添加元素
list1.addAll(list2)voidlist1添加list2中的所有元素
list.set(位置,元素void重设那个位置上的元素
list.get(位置)元素返回指定位置的元素
list.remove()boolean删除数组的第一个元素
list.remove(位置)boolean删除指定位置的元素
list.contains(元素)boolean数值是否包含这个元素
list.indexOf(位置)元素返回指定位置的元素
list.size()int型数组的大小(元素的个数)
list.isEmpty()boolean判断数组是否为空
list.clear()void清除所有元素

说明:

  • remove有两种方式:
    一种是list.remove(int index)
    另一种是list.remove(Object o)
    默认是remove index
    如果list中的组成元素是int型,又想要remove object的话,可以使用:
    list.remove((Integer)10)


遍历动态数组的4种方法

(推荐使用第一、二种,性能更好)
第一种:使用for循环

for(int i=0;i<list.size();i++)
	System.out.print(list.get(i));

第二种:使用增强for循环

for(Integer num : list)
	System.out.print(num);

第三种:使用迭代器

Iterator<Integer> it=list.iterator();
while(it.hasNext())
	System.out.print(it.next());



创建二维ArrayList数组

List<List<Integer>> list=new ArrayList<>();



ArrayList和LinkedList的使用比较

  • Vector是线程安全的,对应性能较慢;ArrayList和LinkedList是线程不安全的
  • ArrayList推荐使用get方法遍历,LinkedList推荐使用迭代器来遍历
  • 如果需要经常对数组进行插入和删除操作,推荐使用LinkedList

创建动态数组的静态数组

List<Integer>[] bucket = new List[array_length];
// List<Integer>[] bucket = new ArrayList[array_length];
for(int i=0;i<array_length;i++)
	bucket[i]=new ArrayList<>();

其他常用方法

返回单对象的List列表

List<Integer> res = Collections.singletonList(0);

上面的方法返回一个单元素的List数组,该List数组只可读

Arrays.asList:可以将数组保存为List

int[] nums = {1,2,3};
List<Integer> res = Arrays.asList(nums);

上面的方法可以将数组转换为List,但是转化后的List只可读不可add和remove

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值