在学习过了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. 阿里巴巴开源 Dragonwell JDK 最新版本 8.1.1-GA 发布

    导读:新版本主要有三大变化:同步了 OpenJDK 上游社区 jdk8u222-ga 的最新更新:带来了正式的 feature:G1ElasticHeap:发布了用户期待的 Windows 实验版本 ...

  2. CS184.1X 计算机图形学导论 第3讲L3V1

    二维空间的变换 L3V1这一课主要讲了二维空间的变换,包括平移.错切和旋转. 缩放 缩放矩阵 使用矩阵的乘法来完成缩放 缩放矩阵是一个对角矩阵,对角线上的值对应缩放倍数 错切(shear) 错切可以将 ...

  3. 从零基础到拿到网易Java实习offer,我做对了哪些事

    作为一个非科班小白,我在读研期间基本是自学Java,从一开始几乎零基础,只有一点点数据结构和Java方面的基础,到最终获得网易游戏的Java实习offer,我大概用了半年左右的时间.本文将会讲到我在这 ...

  4. insert增数据详解

    查看表结构: desc 表名; describe的缩写,意为描述 增加数据不会改变表的结构,只是增加了行. 创建一张表: mysql> create table class( -> id ...

  5. shark恒破解笔记3-EAX决定胜负

    PEID查壳 od载入 输入假的注册码 查找出错字符串 往上查找是否有关键跳转和关键call 可以看到此处有个je跳转 实现了跳转,并且跳过了我们注册成功的地址 网上查找这个跳转的关键call,这个c ...

  6. 机器学习实战3:逻辑logistic回归+在线学习+病马实例

    本文介绍logistic回归,和改进算法随机logistic回归,及一个病马是否可以治愈的案例.例子中涉及了数据清洗工作,缺失值的处理. 一 引言 1 sigmoid函数,这个非线性函数十分重要,f( ...

  7. Springboot读取Request参数的坑

    [后端拿参数相关] 默认配置时, getInputStream()和getReader()一起使用会报错 使用两遍getInputStream(),第二遍会为空   当存在@RequestBody等注 ...

  8. phpfpm的原理是什么?

    php-fpm是一种master(主)/worker(子)多进程架构,与nginx设计风格有点类似.master进程主要负责CGI及PHP环境初始化.事件监听.子进程状态等等,worker进程负责处理 ...

  9. Vue全局组件注册

    通过Vue.component(‘组件名’, {配置对象})注册全局组件 在main.js中注册全局组件 test import Vue from 'vue' import App from './A ...

  10. python学习-正则表达式(十)

    1.查看re模块的全部属性和函数 >>>import re,pprint >>>pprint.pprint(re.__all__) ['match', 'fullm ...