List集合介绍

继承体系

我们知道List是继承Collection接口的使用它写的方法,List也是继承了的。
不清楚的点击链接Collection接口

特有的方法

我们用ArrayList来看。

  • void add(int index,E element)
List list = new ArrayList();
list.add("a");//Collection接口中的方法
list.add("b");
list.add(1,"a");//特别的方法 (可以压掉原有元素)
//index<=size&&index<=0
  • E remove(int index)
Object ob = list.remove(1);//通过索引删除元素,将被删除的元素返回
//它不会自动装箱,去删除元素  Collection中的方法
  • E get(int index)
Object obj1 = list.get(1);//返回1索引位置的元素
	// 当然我们可以遍历集合使用索引
  • E set(int index,E element)
list.set(1,"f");//将指定元素修改
List中特有的迭代方法

listIterator()
迭代器迭代元素,迭代器修改元素

ListIterator<String> lit = list.listIterator<>();		//如果想在遍历的过程中添加元素,可以用ListIterator中的add方法
			while(lit.hasNext()) {
				String str = lit.next();
				if(str.equals("world")) {
					lit.add("javaee");	
				}
			}
其他方法
  • boolean hasNext()是否有下一个
  • boolean hasPrevious()是否有前一个
  • Object next()返回下一个元素
  • Object previous();返回上一个元素
实现类的特点
  • ArrayList:
    • 底层数据结构是数组,查询快,增删慢。
    • 线程不安全,效率高。
  • Vector:
    • 底层数据结构是数组,查询快,增删慢。
    • 线程安全,效率低。
      Vector相对ArrayList查询慢(线程安全的)
      Vector相对LinkedList增删慢(数组结构)
  • LinkedList:
    • 底层数据结构是链表,查询慢,增删快。
    • 线程不安全,效率高。
      Vector和ArrayList的区别
    • Vector是线程安全的,效率低
    • ArrayList是线程不安全的,效率高
      共同点:都是数组实现的
      ArrayList和LinkedList的区别
    • ArrayList底层是数组结果,查询和修改快
    • LinkedList底层是链表结构的,增和删比较快,查询和修改比较慢
      共同点:都是线程不安全的
使用

——查询多用ArrayList
——增删多用LinkedList
——如果都多ArrayList

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值