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));
}
}
}

Day08_40_集合_List的更多相关文章

  1. 重新开始学习javase_集合_List

    一,List之ArrayList(转:http://blog.csdn.net/zheng0518/article/details/42198205) 1. ArrayList概述: ArrayLis ...

  2. Properties集合_list方法与store方法

    Properties集合和流对象结合的功能 list()方法: import java.util.Properties; public class PropertiesDemo { public st ...

  3. java_List集合及其实现类

    第一章:List集合_List接口介绍 1).特点       1).有序的: 2).可以存储重复元素: 3).可以通过索引访问: List<String> list = new Arra ...

  4. 自我理解foreach工作原理

        很多时候我们在使用for循环遍历一个数组的时候,我们都知道可以通过下标的索引找到当前数组中所对应的数据.这只对于简单的数组或集合,如果我们存储的数据不止只有数据项,还有一个标识项,就如同Has ...

  5. javase(8)_集合框架_List、Set、Map

    一.集合体系(不包括Queue体系) 二.ArrayList ArrayList的属性 private transient Object[] elementData; //存储元素 private i ...

  6. Dom4J解析xml文件动态转换为List<Bean>或者Map集合

    大家在解析大量相似xml文件的时候是否会遇到这样一个问题:冗余的代码去set定义的实体对象Bean的值,基本都是一样的操作   而且毫无任何代码价值可言所以在这写了一个简单的例子,类封装了几个方法你只 ...

  7. c#集合解析

    什么是集合(collection)? 提供了一种结构化组织任意对象的方式,从.NET 的角度看,所谓的集合可以定义为一种对象,这种对象实现一个或者多个System.Collections.IColle ...

  8. ASP.NET MVC 后台接收集合参数和 jquery ajax 传值

    MVC 接收参数数组(集合)   示例样本:   public class Person {      public string FirstName { get; set; }      publi ...

  9. ajax 提交数组 泛型集合

    ajax 提交数组 泛型集合 发表于2015/12/31 14:26:29  5117人阅读 分类: mvc asp.net webapi ORM 转载:http://blog.csdn.net/li ...

随机推荐

  1. Java中的CPU占用高和内存占用高的问题排查

    下面通过模拟实例分析排查Java应用程序CPU和内存占用过高的过程.如果是Java面试,这2个问题在面试过程中出现的概率很高,所以我打算在这里好好总结一下. 1.Java CPU过高的问题排查 举个例 ...

  2. 自己的Scrapy框架学习之路

    开始自己的Scrapy 框架学习之路. 一.Scrapy安装介绍 参考网上资料,先进行安装 使用pip来安装Scrapy 在开始菜单打开cmd命令行窗口执行如下命令即可 pip install Scr ...

  3. Python序列之列表(一)

    在Python中,列表是一种常用的序列,接下来我来讲一下关于Python中列表的知识. 列表的创建 Python中有多种创建列表的方式 1.使用赋值运算符直接赋值创建列表 在创建列表时,我们直接使用赋 ...

  4. 小白养成记——Java比较器Comparable和Comparator

    一.使用情景 1.  调用Arrays.sort()方法或Collections.sort()方法对自定义类的对象排序 以Arrays.sort()为例.假定有如下自定义的Person类 1 publ ...

  5. JAVA网络编程基本功之Servlet与Servlet容器

    Servlet与Servlet容器关系 Servlet 比较这两个的区别, 就得先搞清楚Servlet 的含义, Servlet (/ˈsərvlit/ ) 翻译成中文就是小型应用程序或者小服务程序, ...

  6. Zeebe服务学习3-Raft算法与集群部署

    1.背景Zeebe集群里面保证分布式一致性问题,是通过Raft实现的,其实这个算法用途比较广泛,比如Consul网关,也是通过Raft算法来实现分布式一致性的. 首先简单介绍一下Raft: 在学术界, ...

  7. Java实现贪吃蛇

    游戏界面基本布局 贪吃蛇是基于JFrame的一款小游戏.它主要有两部分组成,一个是显示区域,一个是按钮区域.这两个区域都用JPanel来实现. 首先需要创建一个基于JFrame的类,例如创建一个MyF ...

  8. MySQL数据库插入数据出现 ERROR 1526 (HY000): Table has no partition for value xxx

    MySQL数据库插入数据出现ERROR 1526 (HY000): Table has no partition for value xxx工作的时候发现无法插入数据,报错:ERROR 1526 (H ...

  9. HDOJ-2896(AC自动机+文本串中出现了哪几个模板串)

    病毒侵袭 HDOJ-2896 主要使用AC自动机解决,其次在query函数中改变一下,用来记录每个模板串出现的次数,还有insert函数中记录模板串的编号 需要注意最好使用结构体,而且不能一次性使用m ...

  10. Linux下查看文件内容的几种常用命令

    [常用] 1,cat     由第一行开始显示内容,并将所有内容输出 cat的功能是将文件从第一行开始连续的将内容输出在屏幕上.但是cat并不常用,原因是当文件大,行数比较多时,屏幕无法全部容下时,只 ...