Java学习之集合(List接口)
void add(int index, E element);
void addAll(int index, collection<?> c);
2、删除
Object remove(int index);
3、修改
Object set(int index, E element);
4、获取
Object get(int index);
int indexOf(Object o);
int lastIndexOf(Object 0);
List subList(int fromIndex,int toIndex);//获取子列表
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator; public class ListDemo { public static void main(String[] args) {
List list = new ArrayList();
show(list); show2(list); modify(list);
} public static void show(List list) {
list.add("abc1");
list.add("abc2");
list.add("abc3");
list.add("abc4");
list.add("abc5");
System.out.println("list add:"+list);
// 插入元素
list.add(1, "abc10");
System.out.println("list index add:"+list);
// 删除元素
list.remove(2);
System.out.println("list remove(index):"+list);
// 修改元素
list.set(2, "abc8");
System.out.println("list set(index,value):"+list);
// 获取元素
//System.out.println(list.get(5));//IndexOutOfBoundsException
} public static void show2(List list) {
// Iterator it = list.iterator();
System.out.println("=========Iterator=========");
for (Iterator it = list.iterator(); it.hasNext();) {
System.out.println("next:"+it.next());
}
// list 特有的取出元素的方式之一
System.out.println("=========list.size()=========");
for (int x = 0; x < list.size(); x++) {
System.out.println("list get(index):"+list.get(x));
}
} public static void modify(List list) {
/*
* for (Iterator it = list.iterator(); it.hasNext();)
* {
* Object obj = it.next();// java.util.concurrentmodificationException //
* 异常原因:集合和迭代器同时操作集合,导致异常
* if (obj.equals("abc2"))
* {
* //操作集合
* list.add("abc9");
* } else
* System.out.println(obj); }
*/
System.out.println(list); // 异常解决:可以使用ListIterator来完成在迭代中对元素进行操作
// 注意:只有list集合具备ListIterator接口
/*
* ListIterator接口方法 hasNext(); next();
*
* hasPrevious(); previous()
*/ System.out.println("=========ListIterator 可修改集合=========");
for (ListIterator it = list.listIterator(); it.hasNext();) {
Object obj = it.next();
if (obj.equals("abc4")) {
it.add("abc9");
} else
System.out.println(obj);
}
System.out.println("list 特有的ListIterator"+list);
}
結果:

Java学习之集合(List接口)的更多相关文章
- Java开发知识之Java中的集合Set接口以及子类应用
---恢复内容开始--- Java开发知识之Java中的集合Set接口以及子类应用 一丶Set接口以及作用 在上一讲.我们熟悉了接口的实现图.以及自己各有的子类. List接口主要存储的数据是可以重复 ...
- Java学习笔记之---比较接口与抽象类
Java学习笔记之---比较接口与抽象类 抽象类是描述事物的本质,接口是描述事物的功能 接口与抽象类的异同 1.一个类只能继承一个父类,但是可以有多个接口 2.抽象类中的抽象方法没有方法体,但是可以有 ...
- java学习笔记—集合之Map集合
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: center; font: 12.0px Times } p.p2 { margin: 0.0p ...
- Java学习:集合双列Map
数据结构 数据结构: 数据结构_栈:先进后出 入口和出口在同一侧 数据结构_队列:先进先出 入口和出口在集合的两侧 数据结构_数组: 查询快:数组的地址是连续的,我们通过数组的首地址可以找到数组,通过 ...
- Java学习笔记:03面向对象-接口_多态
1.类的概念 一堆具有共同的成员变量(属性)和成员方法(功能)对象的集合 2.接口的概念 接口是功能的集合,就是方法的集合 接口中只能定义方法,不能定义普通的成员变量 而且接口中的成员方法,必须是抽象 ...
- Java学习关于集合框架的基础接口--Collection接口
集合框架(Collection Framework)是Java最强大的子系统之一,位于java.util 包中.集合框架是一个复杂的接口与和类层次,提供了管理对象组的最新技术.Java集合框架标准 ...
- Java学习之集合(Collection接口)
集合类的由来: 对象用于封装特有数据,对象多了需要存储,如果对象的个数不确定,就使用集合容器进行存储 集合特点: 1.用于存储对象的容器 2.集合长度可变 3.不可以存储基本数据类型 集合体系的顶层C ...
- Java学习之集合框架的迭代器--Iteratorjk及ListItertor接口
通常情况下,你会希望遍历一个集合中的元素.例如,显示集合中的每个元素.一般遍历数组都是采用for循环或者增强for,这两个方法也可以用在集合框架,但是还有一种方法是采用迭代器遍历集合框架,它是一个对象 ...
- 【Java学习笔记】Map接口的子接口---TreeMap
TreeMap,与TreeSet类似,可以对集合中的元素进行排序,同时保持元素的唯一性. 应注意,Comparable(实现接口,记得覆盖comparaTo方法),Comparator的使用. imp ...
随机推荐
- java中 抽象类和接口的区别
一. 什么是抽象类及什么是抽象方法 抽象方法是一种特殊的方法:他只有声明,而没有具体实现,抽象方法的声明格式为: abstract void funName(); 抽象方法必须用 abstract 修 ...
- Eclipse Missing artifact jdk.tools:jdk.tools:jar:1.6
Missing artifact jdk.tools:jdk.tools:jar:1.6 问题出在Eclipse Maven的支持上,在Eclipse下,java.home变量设置为用于启动Eclip ...
- Java + selenium 启动谷歌浏览器
在之前创建的test项目下建一个test包,然后在包下建一个Chrome.java类.写入如下代码 package test; import java.util.concurrent.TimeUnit ...
- myCat读写分离+传统主从
1 Mycat介绍: mycat是最近很火的一款国人发明的分布式数据库中间件,它是基于阿里的cobar的基础上进行开发的 准备环境: db01主 10.0.0.51 db02备 10.0.0. ...
- PAT甲级——A1145 HashingAverageSearchTime【25】
The task of this problem is simple: insert a sequence of distinct positive integers into a hash tabl ...
- layui点击图片放大-多图显示
layui点击图片放大-多图显示 标签(空格分隔): js HTML // div <div id="photo-list"> <img class=" ...
- activiti7流程变量的测试(设置全局变量)
package com.zcc.activiti03; import org.activiti.engine.*;import org.activiti.engine.repository.Deplo ...
- Django框架(三十)—— 使用Vue搭建前台
目录 vue的使用 一.创建vue项目 二.pycharm开发vue项目 1.安装vue.js插件 2.运行vue项目 三.vue项目的目录结构 四.vue的使用 1.创建新的组件 2.显示数据 3. ...
- Qt4 QWebView的使用例子
最近项目中使用QT4框架开发PC端软件,所以耐着性子学习了一下QT相关的东西. 下面是QT4中QWebView的使用方法,觉得蛮方便的. 我使用的开发环境是:Win7+Qt 4.8.5开发库+qtcr ...
- 判断url
//判断url地址 isUrl(str){ let reg = /[0-9a-zA-z]+.(html|htm|shtml|jsp|asp|php|com|cn|net|com.cn|org)$/; ...