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. TERSUS无代码开发(笔记04)-CSS样式设置

    CSS样式设置 1.常用显示样式 大小尺寸 说明  间距边距 说明  各类颜色 说明  width 宽 margin 外边距         color  颜色        height 高 pad ...

  2. Manjaro安装后简单配置

    一个相见恨晚的 Linux 操作系统 Manjaro 到底有多受欢迎? DistroWatch是一个包含了各种Linux发行版及其他自由/开放源代码的类Unix操作系统. (如OpenSolaris. ...

  3. MySql-Day-01

    MySql 能够理解数据库的概念 能够安装MySQL数据库 能够启动,关闭及登录MySQL 能够使用SQL语句操作数据库 能够使用SQL语句操作表结构 能够使用SQL语句进行数据的添加修改和删除的操作 ...

  4. Google单元测试框架gtest之官方sample笔记3--值参数化测试

    1.7 sample7--接口测试 值参数不限定类型,也可以是类的引用,这就可以实现对类接口的测试,一个基类可以有多个继承类,那么可以测试不同的子类功能,但是只需要写一个测试用例,然后使用参数列表实现 ...

  5. EF Core中通过Fluent API完成对表的配置

    EF Core中通过Fluent API完成对表的配置 设置实体在数据库中的表名 通过ToTable可以为数据模型在数据库中自定义表名,如果不配置,则表名为模型名的复数形式 public class ...

  6. [LeetCode 279.] Perfect Squres

    LeetCode 279. Perfect Squres DP 是笨办法中的高效办法,又是一道可以被好办法打败的 DP 题. 题目描述 Given a positive integer n, find ...

  7. ajax轮询原理及其实现方式

    ajax轮询原理及其实现方式 ajax轮询的两种方式 方式1:设定一个定时器,无论有无结果返回,时间一到就会继续发起请求,这种轮询耗费资源,也不一定能得到想要的数据,这样的轮询是不推荐的. 方式2: ...

  8. Codeforces 1015E1 Stars Drawing (Easy Edition)

    题面: 传送门 题目描述: 要求用十字星星来画题目给出的"星"图.如果不能用十字星星来画"星"图,输出-1:如果能,则输出要在图的哪个位置画相应大小的十字星图. ...

  9. MongoDB4.2 分片扫盲说明

    说明: 在扫盲MongoDB相关的一些知识的时候,顺手做下笔记.本文将说明分片相关的内容.在比较早之前已经对这些有过说明,可以看MongoDB 分片的原理.搭建.应用.分片(sharding)是指将数 ...

  10. 学习jQuery(1)

    学习jQuery 通过 jQuery,您可以选取(查询,query) HTML 元素,并对它们执行"操作"(actions). jQuery 语法 jQuery 语法是为 HTML ...