在学习过了Collection之后,接下来我们将去学习List,

先看API文档:

List集合的特有功能:(没有列出Collection也有的功能)

A:添加功能 

add(int index, E element)

将指定的元素插入此列表中的指定位置(可选操作)。 

B:获取功能 

get(int index)

返回此列表中指定位置的元素。 

C:列表迭代器功能 (后面单独说)

listIterator(int index)

从列表中的指定位置开始,返回列表中的元素(按正确顺序)的列表迭代器。 

D:删除功能 

remove(int index)

删除该列表中指定位置的元素(可选操作)。 

E:修改功能 

set(int index, E element)

用指定的元素(可选操作)替换此列表中指定位置的元素。 
 
代码演示如下:
 package com.wyh.Iterator;

 import java.util.ArrayList;
import java.util.Iterator;
import java.util.List; /**
* @author WYH
* @version 2019年11月9日 下午4:39:09
*
* List:
* 有序集合(也称为序列(“存储与取出的顺序一致”) )。 该界面的用户可以精确控制列表中每个元素的插入位置。 用户可以通过整数索引(列表中的位置)访问元素,并搜索列表中的元素。
* 与集合不同,列表通常允许重复的元素。
* 更正式地,列表通常允许元素e1和e2成对使得e1.equals(e2) ,并且如果它们允许空元素,它们通常允许多个空元素。
* 有人可能希望实现一个禁止重复的列表,当用户尝试插入时会抛出运行时异常,但是我们预计这种使用是罕见的。
*/
public class ListDemo1 { static void show(List list) {
Iterator it = list.iterator();
while(it.hasNext()) {
String s = (String)it.next();
System.out.println(s);
}
} public static void main(String[] args) {
//创建List集合
List l1 = new ArrayList(); //创建字符串对象并进行添加
l1.add("a");
l1.add("b"); System.out.println("add(int index, E element):**********************************"); //add(int index, E element):将指定的元素插入此列表中的指定位置(可选操作)下标从0开始
l1.add(1,"xiaowang");//没有问题
//l1.add(11,"li");//IndexOutOfBoundsException 报错,下表越界!
l1.add(3,"xiaoli");//在集合界后面一个可以添加
//l1.add(5,"asd"); //IndexOutOfBoundsException 报错,下表越界!
show(l1); System.out.println("获取功能 Object get(int index) :******************************"); //B:获取功能 get(int index) 返回此列表中指定位置的元素。
System.out.println("get:"+l1.get(2));
//IndexOutOfBoundsException 报错,下表越界!
//System.out.println("get:"+l1.get(11)); System.out.println(" Object remove(int index)删除该列表中指定位置的元素(可选操作)。****");
//remove(int index) 删除该列表中指定位置的元素(可选操作)。
System.out.println("remove:"+l1.remove(1)); //返回移除的元素
show(l1);
//System.out.println("remove:"+l1.remove(11)); //IndexOutOfBoundsException 报错,下表越界! System.out.println("Object set(int index, E element) 用指定的元素(可选操作)替换此列表中指定位置的元素。 ****");
System.out.println("set:"+l1.set(1, "xiaowangya")); //返回被修改的元素
show(l1); }
}

List集合的特有遍历功能:size()和get()方法结合使用:

 //List集合特有的遍历方式
for(int i = 0;i<l1.size();i++) {
String s = (String)l1.get(i);
System.out.println(s);
}

List是Collection的子接口,当然它也可以用Iterator迭代器进行遍历输出:

 Iterator it = list.iterator();
while(it.hasNext()) {
String s = (String)it.next();
System.out.println(s);
}

大数据之路week01--自学之集合_2(List)的更多相关文章

  1. 大数据之路week01--自学之集合_2(列表迭代器 ListIterator)

    列表迭代器: ListIterator listerator():List集合特有的迭代器 该迭代器继承了Iterator迭代器,所以,就可以直接使用hasNext()和next()方法 特有功能: ...

  2. 大数据之路week01--自学之集合_2(Iterator迭代器)

    选代器:是遍历集合的一种方式.迭代器是依赖于集合而存在的.我有一个集合: Collection c = new ArrayList();我们给集合中添加元素: c. add("hello' ...

  3. 大数据之路week01--自学之集合_1(Collection)

    经过我个人的调查,发现,在今后的大数据道路上,集合.线程.网络编程变得尤为重要,为什么? 因为大数据大数据,我们必然要对数据进行处理,而这些数据往往是以集合形式存放,掌握对集合的操作非常重要. 在学习 ...

  4. 大数据之路week04--day06(I/O流阶段一 之异常)

    从这节开始,进入对I/O流的系统学习,I/O流在往后大数据的学习道路上尤为重要!!!极为重要,必须要提起重视,它与集合,多线程,网络编程,可以说在往后学习或者是工作上,起到一个基石的作用,没了地基,房 ...

  5. 大数据之路week04--day03(网络编程)

    哎,怎么感觉自己变得懒了起来,更新博客的频率变得慢了起来,可能是因为最近得知识开始变得杂变得难了起来,之前在上课的时候,也没有好好听这一方面的知识,所以,现在可以说是在学的新的知识,要先去把新的知识思 ...

  6. 胖子哥的大数据之路(9)-数据仓库金融行业数据逻辑模型FS-LDM

    引言: 大数据不是海市蜃楼,万丈高楼平地起只是意淫,大数据发展还要从点滴做起,基于大数据构建国家级.行业级数据中心的项目会越来越多,大数据只是技术,而非解决方案,同样面临数据组织模式,数据逻辑模式的问 ...

  7. 胖子哥的大数据之路(6)- NoSQL生态圈全景介绍

    引言: NoSQL高级培训课程的基础理论篇的部分课件,是从一本英文原著中做的摘选,中文部分参考自互联网.给大家分享. 正文:  The NoSQL Ecosystem 目录 The NoSQL Eco ...

  8. 大数据之路day01_1--Java下载、安装等配置

    从今天开始,我就正式的走上大数据的道路了,如果说我为啥要去学习大数据,可能我的初衷是以后可以接触到人工智能方面的技术,后来在自学的过程中发现,学习人工智能,需要扎实的算法,以及对大量数据的处理,再者, ...

  9. 大数据学习笔记——Java篇之集合框架(ArrayList)

    Java集合框架学习笔记 1. Java集合框架中各接口或子类的继承以及实现关系图: 2. 数组和集合类的区别整理: 数组: 1. 长度是固定的 2. 既可以存放基本数据类型又可以存放引用数据类型 3 ...

随机推荐

  1. Android实现apk插件方式换肤

    换肤思路: 1.什么时候换肤? xml加载前换肤,如果xml加载后换肤,用户将会看见换肤之前的色彩,用户体验不好. 2.皮肤是什么? 皮肤就是apk,是一个资源包,包含了颜色.图片等. 3.什么样的控 ...

  2. Requests实践详解

    Requests是什么 Requests是用python语言基于urllib编写的,采用的是Apache2 Licensed开源协议的HTTP库 如果你看过上篇文章关于urllib库的使用,你会发现, ...

  3. 做高逼格程序员之说走就走的「Linux To Go 」

    简介:想拥有一个Linux,在自己的电脑上安装双系统太麻烦.想和WTG一样,随插随用. 使用LTG的好处 安装.修复系统:配置好后的Linux系统极其强大. 工作中我们同样可以使用这个系统,回到家里插 ...

  4. 自学导航页(待续ing)

    1 博客导航1.1 linuxlinux全线教程–提供了linux教程,服务器管理教程,BSD教程,还有编程语言(C/Java/Python/Perl),以及网络等全栈学习教程 1.2 存储技术NoS ...

  5. C# 常见面试问题汇总

    1.c#垃圾回收机制 从以下方面入手展开:  1.压缩合并算法   2.代的机制  3.GC调用终结器 Garbage Collector . NET采用了和Java类似的方法由CLR(Common ...

  6. java集合类之LinkedList详解

    一.LinkedList简介 由于LinkedList是一个实现了Deque的双端队列,所以LinkedList既可以当做Queue,又可以当做Stack,在将LinkedList当做Stack时,使 ...

  7. webstrom 永久激活方法 ,长期可用

    打开hosts文件:C:\Windows\System32\drivers\etc 在最后一行添加 0.0.0.0 account.jetbrains.com 打开webstorm,选择Activat ...

  8. X-扫描线算法

    多边形的扫描转换 多边形有两种重要的表示方法:顶点表示和点阵表示 顶点表示是用多边形的顶点序列来表示多边形.这种表示直观.几何意义强.占内存少,易于进行几何变换. 但由于它没有明确指出哪些象素在多边形 ...

  9. surging 微服务引擎 -协议主机的Behavior特性

    1.前言 因为工作的关系,最近很少更新surging,因为surging 一直处在不温不火的状态,而自己每天利用业余时间进行完善,每天都是疲惫的状态,还要应付新手的提问,曾经一度想放弃,但是有些人劝说 ...

  10. .net工作流引擎ccflow开发平台属性功能的隐藏显示介绍

    关键字: 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 表单引擎 工作流功能说明  工作流设计 工作流快速开发平台   业务流程管理   bpm工作流系统  java工 ...