List集合

  • List接口是继承Collection接口,所以Collection集合中有的方法,List集合也会继承过来,可以直接使用。

  • All Superinterfaces: Collection, Iterable

  • All Implementing Classes: AbstractList, ArrayList, LinkedList, Stack, Vector

  • ArrayList继承AbstractList底层是数组,默认初始化容量是10,每次扩容以后是原容量得1.5倍

  • Vector底层也是数组,初始化容量也是10,但每次扩容是原容量得2倍。

  • 如何优化ArrayList和Vector,尽量减少数组拷贝,因为数组拷贝很消耗内存。推荐在创建集合得时候就指定集合得初始化容量。 List list= new ArrayList(50);

  • 代码

```
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List; //ArrayList继承AbstractList底层是数组,默认初始化容量是10,每次扩容以后是原容量得1.5倍
//Vector底层也是数组,初始化容量也是10,但每次扩容是原容量得2倍。
//如何优化ArrayList和Vector,尽量减少数组拷贝,因为数组拷贝很消耗内存。推荐在创建集合得时候就指定集合得初始化容量。 List list= new ArrayList(50);
public class ListTest01 {
public static void main(String[] args) { // 创建一个list集合
List list= new ArrayList(); //多态 父类引用指向子类对象 //向list集合中添加元素 list.add(1);//自动装箱
list.add(100);
list.add("张三");
list.add("北京市通州区啦啦啦啦");
list.add(3.1415926); // int indexOf(Object o) 返回list集合中第一次出现o对象的索引位置,如果list集合中没有o对象,那么就返回-1
System.out.println(list.indexOf("张三")); // // set(int index, E element) 在索引为index位置的元素更改为element元素
list.set(2,"李四");
System.out.println(list.get(2)); //因为ArrayList集合底层是数组,所以可以利用下表来插入数据。在下标为1得位置上添加555
list.add(1,555); // 可以通过下标获取数据
Object obj=list.get(1);
System.out.println(obj); // 创建迭代器,遍历输出元素
Iterator iterator=list.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
System.out.println("===============================================================================");
// List集合特有的遍历方式
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
}
}

最新文章

  1. struts-tags通用标签基本用法
  2. mybatis(一)环境的搭建
  3. svn 服务器不能看log问题
  4. Linux使用
  5. 【POJ】3261 Milk Patterns
  6. 三元运算+lambda表达式
  7. RTC搭建android下三层应用程序访问服务器MsSql-服务器端
  8. Python如何进行cross validation training
  9. jquery工具函数browser() 辨别浏览器
  10. mysql alter example
  11. wecenter—开启CURL扩展,让服务器支持PHP curl函数(远程采集)
  12. 第九十八节,JavaScript语法、关键保留字及变量
  13. 关于tolua的使用
  14. 3.移植驱动到3.4内核-移植DM9000C驱动
  15. Ubuntu下安装GTK环境
  16. Spring boot打包war包
  17. SQL高级查询基础
  18. 记一次因为session引起的并发问题
  19. 使用PhoneGap搭建一个山寨京东APP(转)
  20. selec2组件使用方法

热门文章

  1. 线段树&amp;数链剖分
  2. Hystrix熔断器的使用步骤
  3. Newbe.Claptrap 框架入门,第一步 —— 开发环境准备
  4. 安装node环境以及cnpm
  5. 更改EFI分区位置
  6. URL 地址解析
  7. 基于4H-SIC的先进集成电路用n型LDMOS晶体管
  8. 一文吃透zabbix4.0的编译安装,最全最详细的安装。
  9. Java 使用BigDecimal计算值没有变化?
  10. VScode 自定义用户代码块