大数据之路week01--自学之集合_2(List)
在学习过了Collection之后,接下来我们将去学习List,
先看API文档:
List集合的特有功能:(没有列出Collection也有的功能)
A:添加功能
B:获取功能
get(int index)
C:列表迭代器功能 (后面单独说)
listIterator(int index)
D:删除功能
remove(int index)
E:修改功能
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)的更多相关文章
- 大数据之路week01--自学之集合_2(列表迭代器 ListIterator)
列表迭代器: ListIterator listerator():List集合特有的迭代器 该迭代器继承了Iterator迭代器,所以,就可以直接使用hasNext()和next()方法 特有功能: ...
- 大数据之路week01--自学之集合_2(Iterator迭代器)
选代器:是遍历集合的一种方式.迭代器是依赖于集合而存在的.我有一个集合: Collection c = new ArrayList();我们给集合中添加元素: c. add("hello' ...
- 大数据之路week01--自学之集合_1(Collection)
经过我个人的调查,发现,在今后的大数据道路上,集合.线程.网络编程变得尤为重要,为什么? 因为大数据大数据,我们必然要对数据进行处理,而这些数据往往是以集合形式存放,掌握对集合的操作非常重要. 在学习 ...
- 大数据之路week04--day06(I/O流阶段一 之异常)
从这节开始,进入对I/O流的系统学习,I/O流在往后大数据的学习道路上尤为重要!!!极为重要,必须要提起重视,它与集合,多线程,网络编程,可以说在往后学习或者是工作上,起到一个基石的作用,没了地基,房 ...
- 大数据之路week04--day03(网络编程)
哎,怎么感觉自己变得懒了起来,更新博客的频率变得慢了起来,可能是因为最近得知识开始变得杂变得难了起来,之前在上课的时候,也没有好好听这一方面的知识,所以,现在可以说是在学的新的知识,要先去把新的知识思 ...
- 胖子哥的大数据之路(9)-数据仓库金融行业数据逻辑模型FS-LDM
引言: 大数据不是海市蜃楼,万丈高楼平地起只是意淫,大数据发展还要从点滴做起,基于大数据构建国家级.行业级数据中心的项目会越来越多,大数据只是技术,而非解决方案,同样面临数据组织模式,数据逻辑模式的问 ...
- 胖子哥的大数据之路(6)- NoSQL生态圈全景介绍
引言: NoSQL高级培训课程的基础理论篇的部分课件,是从一本英文原著中做的摘选,中文部分参考自互联网.给大家分享. 正文: The NoSQL Ecosystem 目录 The NoSQL Eco ...
- 大数据之路day01_1--Java下载、安装等配置
从今天开始,我就正式的走上大数据的道路了,如果说我为啥要去学习大数据,可能我的初衷是以后可以接触到人工智能方面的技术,后来在自学的过程中发现,学习人工智能,需要扎实的算法,以及对大量数据的处理,再者, ...
- 大数据学习笔记——Java篇之集合框架(ArrayList)
Java集合框架学习笔记 1. Java集合框架中各接口或子类的继承以及实现关系图: 2. 数组和集合类的区别整理: 数组: 1. 长度是固定的 2. 既可以存放基本数据类型又可以存放引用数据类型 3 ...
随机推荐
- django-rest-framework解析请求参数
django-rest-framework解析请求参数 前言 前面的文章中编写了接口, 调通了接口文档. 接口文档可以直接填写参数进行请求, 接下来的问题是如何接受参数, 由于请求方式与参数序列化形式 ...
- Python3 解决 ModuleNotFoundError: No module named 'pygal.i18n' 问题
在获取国别码集通过导入模块pygal报以下问题: from pygal.i18n import COUNTRIES 解决方法: 安装模块 pip3 install pygal_maps_world ...
- vue-cli中使用jquery
一.安装依赖 npm install jquery --save 二.全局导入(必须先安装依赖) 第一步 在webpack.base.conf.js里加入(新版的可能找不到这个文件,你可以npm in ...
- 拿起键盘就是干:跟我一起徒手开发一套分布式IM系统
1.引言 老读者应该还记得我在去年国庆节前分享过一篇<技术干货:从零开始,教你设计一个百万级的消息推送系统>,虽然我在文中有贴一些伪代码,依然有些朋友希望能直接分享一些可以运行的源码.好吧 ...
- metasploit(MSF)渗透平台命令大全
转自互联网 记录以备后用 show exploits 列出metasploit框架中的所有渗透攻击模块. show payloads 列出metasploit框架中的所有攻击载荷. show auxi ...
- Redis中是如何实现分布式锁的?
分布式锁常见的三种实现方式: 数据库乐观锁: 基于Redis的分布式锁: 基于ZooKeeper的分布式锁. 本地面试考点是,你对Redis使用熟悉吗?Redis中是如何实现分布式锁的. 要点 Red ...
- Python 爬取豆瓣TOP250实战
学习爬虫之路,必经的一个小项目就是爬取豆瓣的TOP250了,首先我们进入TOP250的界面看看. 可以看到每部电影都有比较全面的简介.其中包括电影名.导演.评分等. 接下来,我们就爬取这些数据,并将这 ...
- MySQL 分页查询优化——延迟关联优化
目录 1. InnoDB表的索引的几个概念 2. 覆盖索引和回表 3. 分页查询 4. 延迟关联优化 写在前面 下面的介绍均是在选用MySQL数据库和Innodb引擎的基础开展.我们先 ...
- 拨云见日,彻底弄清楚Java日志框架 log4j, logback, slf4j的区别与联系
log4j 以及 logback, slf4j 官网 日志框架的困惑 作为一个正常的项目,是必须有日志框架的存在的,没有日志,很难追踪一些奇奇怪怪的系统问题. 但是,我们经常在项目的依赖中,见到奇奇怪 ...
- 用最复杂的方式学会数组(Python实现动态数组)
Python序列类型 在本博客中,我们将学习探讨Python的各种"序列"类,内置的三大常用数据结构--列表类(list).元组类(tuple)和字符串类(str). 不知道你发现 ...