List接口

java.util.list接口 extends Collection接口

List接口的特点:

  1. 有序的集合,存储元素和取出元素的顺序是一致的(存储123 取出123)
  2. 有索引,包含了一些带索引的方法
  3. 允许存储重复的元素

List接口中带索引的方法(特有):

public void add(int index,E element):将指定的元素,添加到该集合中的指定位置上。
public E get(int index):返回集合中指定位置的元素。
public E remove(int index):移除列表中指定位置的元素,返回的是被移除的元素。
public E set(int index,E element):用指定元素替换集合中指定位置的元素,返回值的更新前的元素。

注意:
操作索引的时候,一定要防止索引越界异常

  • IndexOutOfBoundsException:索引越界异常,集合会报
  • ArrayIndexOutOfBoundsException:数组索引越界异常
  • StringIndexOutOfBoundsException:字符串索引越界异常
//创建一个List集合对象,多态
List<String> list = new ArrayList<>();
{
//public void add(int index,E element):将指定的元素,添加到该集合中的指定位置上。
//在索引2和索引3之间添加一个cainiao
list.add(3,"cainiao");//{a,b,c,d}-->{a,b,c,cainiao,d}
//移除元素
String removeE = list.remove(2)
//替换元素
String setE = list.set(4,"A");
}

List的子类

  • ArrayList集合

java.util.ArrayList集合数据存储的结构是数组结构元素增删慢,查找快,由于日常开发中使用最多的功能为查询数据、遍历数据,所以ArrayList是最常用的集合。

  • LinkedList集合

java.util.LinkedList集合数据存储的结构是链结构。方便元素添加,删除的集合。

java.util.LinkedList集合 implements List接口

ArrayList集合的特点:

  1. 底层是一个链的结构:查询慢,增删快
  2. 里边包含了大量操作首尾元素的方法

注意:
使用ArrayList集合特有的方法,不能使用多态

  • public void addFirst(E e):将指定元素插入此列表的开头
  • public void addLast(E e):将指定元素添加到此列表的结尾
  • public void addpush(E e):将元素推如此列表所表示的推栈
  • public E getFirst():返回此列表的第一个元素。
  • public E getLast():返回此列表的最后一个元素。
  • public E removeFirst():移除并返回此列表的第一个元素。
  • public E removeLast():移除并返回此列表的最后一个元素。
  • public E pop():从此列表所表示的推栈处弹出一个元素。相当于removeFirst
  • public boolean isEmpty():如果列表不包含元素,则返回true

Vector集合

Vector 类可以实现可增长的对象数组。
与新collection不同,Vector是同步的。

最新文章

  1. ios Carthage
  2. Android源码中内置包含so文件的APK文件
  3. sum() 函数
  4. repo的用法
  5. 图像特征提取三大法宝:HOG特征,LBP特征,Haar特征(转载)
  6. 如何区分JS中的this?!
  7. Spring读取配置文件
  8. Toast.makeText().show() 正常使用但不显示的解决办法
  9. 关于安装完Node.js 出现node is not dedined 问题
  10. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(17)-LinQ动态排序
  11. 07ADO.Net
  12. Android(java)学习笔记247:ContentProvider使用之利用ContentProvider备份和还原手机短信(掌握)
  13. backdrop-filter 和filter 写出高斯模糊效果 以及两者区别
  14. 通过ALM OTA API获取test case的信息,并上传测试结果到test set中
  15. 使用guava实现找回密码的tokenCache以及LRU算法
  16. linux cp 拷贝文件或目录
  17. sklearn多分类问题
  18. Android开发-基本概念(申明:来源于网络)
  19. VS中生成时“sgen.exe”已退出,代码为 1解决办法
  20. LinkServer--服务器选项

热门文章

  1. Ionic run android失败解决方法。
  2. PHP如何创建文件夹(mkdir的用法,mkdirs的语法)【转】
  3. React源码 ReactDOM.render
  4. JavaScript三种方法获取地址栏参数的方法
  5. robotframework-selenium2library各个版本
  6. 2019南昌网络赛I:Yukino With Subinterval(CDQ) (树状数组套主席树)
  7. linux 利用 crontab 实现 程序开机启动/crontab任务的多种实现方法
  8. centos7删除PHP怎么操作
  9. hadoop KerberosUtil 做Kerberos认证
  10. luogu_2480: 古代猪文