List集合

|---- List : 存放的数据是有序的且可重复的,以下是实现类:

  •  	|---- ArrayList: List的主要实现类, 底层是数组实现的,查找快,增删慢。线程不安全的,效率高一些
    
  •  	|---- Vector :底层是数组实现的,线程安全,效率比ArrayList低一些
    
  •  	|---- LinkedList :底层是双向链表,删除和插入比较快,查找慢。
    

    /*
    // list集合常用的方法

     //在当前集合的index位置添加一个元素ele
     //如果元素是一个集合,则将这个集合作为一个元素添加进去
     void add(int index, Object ele)
     
     //在当前集合中index位置上添加eles中的所有元素
     boolean addAll(int index, Collection eles)
     
     //获取当前集合中index位置上的元素
     Object get(int index)
     
     //obj在当前集合中索引的位置,如果找不到返回-1 (从前向后找)
     int indexOf(Object obj)
     
     //obj在当前集合中索引的位置,如果找不到返回-1 (从后向前找)
     int lastIndexOf(Object obj)
     
     //从当前集合中删除掉index位置上的元素 ,并返回该元素
     Object remove(int index)
     
     //修改当前集合中index位置上的元素,并换成ele
     Object set(int index, Object ele)
     
     //将当前集合中fromIndex到toIndex位置上的元素取出放到一个新的集合中 (包头不包尾)
     List subList(int fromIndex, int toIndex)
    

    */

ArrayList

/*
 * ArrayList(List主要实现类) : 
 * 
 * 构造器:
 * 	new ArrayList() : 底层创建一个长度为10的数组
 *  new ArrayList(int init) : 底层创建一个长度为init的数组
 *  
 * ArrayList的底层实现?
 *  ArrayList空参的构造器底层会创建一个长度为10的数组,当我们向该集合中添加对象到第11个时,
 *  集合会进行扩容,扩容为原来数组长度的1.5倍。再将原来数组中的数据复制到新的数组中。
 *  我们可以根据要添加元素的数量去选择创建对象的构造器。如果知道元素的数量建议使用 new ArrayList(int init).
 */

LinkedList

/*
 *  void addFirst(Object obj) //向集合的头部添加一个元素obj
	void addLast(Object obj) //向集合的尾部添加一个元素obj	
	Object getFirst() //获取集合中的第一个元素
	Object getLast()//获取集合中的最后一个元素
	Object removeFirst()//删除集合中的第一个元素并返回
	Object removeLast()//删除集合中的最后一个元素并返回

 */

[面试题]

  /* 	ArrayList,Vector,LinkedList的区别是什么?
   		 ArrayList : 底层是数组实现的,查找快,增删慢。线程不安全的,效率高一些
		Vector : 底层是数组实现的,线程安全,效率比ArrayList低一些
 		LinkedList : 底层是双向链表,删除和插入比较快,查找慢。
  */
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值