List接口和ArrayList类练习
2015-10-07 10:10
435 查看
关于ListIterator的知识:
ListIterator的父接口是Iterator,是List接口中特有的迭代器。
ListIterator在Iterator的基础上,又新添了很多方法:
Iterator中的方法:
1、判断是否有下一个元素:hasNext();
2、获取下一个元素:next();
3、删除迭代器指向的元素:remove();
ListIterator新添的方法:
4、判断是否有前一个元素:hasPrevious();
5、获取前一个元素: previous();
6、添加元素 add(e);
7、获取next后续元素的索引: nextIndex();
8、获取previous后续元素的索引:previousIndex();
9、替换指定元素: set(E e);
使用ListIterator的好处:可以并发执行操作,Iterator不能,Iterator如果并发执行操作,迭代器会出现不确定性行为。
[java] view
plaincopyprint?
[java] view
plaincopyprint?
[java] view
plaincopyprint?
[java] view
plaincopyprint?
package 集合框架练习;
import java.util.AbstractList;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
//定义一个List对象,如下
//List list = new ArrayList();
//1) 在list中添加元素,nihao,wohao,dajiahao,nihao
//2) 在list的第二个位置添加元素,tahao
//3) 用Iterator迭代器遍历打印list中元素
//4) 在打印时,将list中的nihao,修改为nibuhao(提示:需要用到ListIterator)
public class TestArrayList {
public static void main(String[] args) {
List list = new ArrayList();
//1) 在list中添加元素,nihao,wohao,dajiahao,nihao
list.add("nihao");
list.add("wohao");
list.add("dajiahao");
list.add("nihao");
System.out.print("list中的元素为:\t");
for(int i=0;i
System.out.print(list.get(i)+"\t");
}
System.out.println();
//2) 在list的第二个位置添加元素,tahao
list.add(1,"tahao"); //从0开始计数
System.out.print("添加“tahao”后,list中的元素为:\t");
for(int i=0;i
System.out.print(list.get(i)+"\t");
}
System.out.println();
//3) 用Iterator迭代器遍历打印list中元素
//迭代器
Iterator it=list.iterator();
//判断是否有下一个元素:hasNext();
System.out.print("用Iterator迭代器遍历打印list中的元素: ");
while(it.hasNext()){
System.out.print(it.next()+"\t");
}
System.out.println();
//4)在打印时,将list中的nihao,修改为nibuhao(提示:需要用到ListIterator)
list.set(0, "nibuhao");
Iterator it1=list.iterator();
System.out.print("修改之后的list为:");
while(it1.hasNext()){
System.out.print(it1.next()+"\t");
}
System.out.println();
}
private static List set(int i, String string) {
// TODO Auto-generated method stub
return null;
}
}
ListIterator的父接口是Iterator,是List接口中特有的迭代器。
ListIterator在Iterator的基础上,又新添了很多方法:
Iterator中的方法:
1、判断是否有下一个元素:hasNext();
2、获取下一个元素:next();
3、删除迭代器指向的元素:remove();
ListIterator新添的方法:
4、判断是否有前一个元素:hasPrevious();
5、获取前一个元素: previous();
6、添加元素 add(e);
7、获取next后续元素的索引: nextIndex();
8、获取previous后续元素的索引:previousIndex();
9、替换指定元素: set(E e);
使用ListIterator的好处:可以并发执行操作,Iterator不能,Iterator如果并发执行操作,迭代器会出现不确定性行为。
[java] view
plaincopyprint?
[java] view
plaincopyprint?
[java] view
plaincopyprint?
[java] view
plaincopyprint?
package 集合框架练习;
import java.util.AbstractList;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
//定义一个List对象,如下
//List list = new ArrayList();
//1) 在list中添加元素,nihao,wohao,dajiahao,nihao
//2) 在list的第二个位置添加元素,tahao
//3) 用Iterator迭代器遍历打印list中元素
//4) 在打印时,将list中的nihao,修改为nibuhao(提示:需要用到ListIterator)
public class TestArrayList {
public static void main(String[] args) {
List list = new ArrayList();
//1) 在list中添加元素,nihao,wohao,dajiahao,nihao
list.add("nihao");
list.add("wohao");
list.add("dajiahao");
list.add("nihao");
System.out.print("list中的元素为:\t");
for(int i=0;i
System.out.print(list.get(i)+"\t");
}
System.out.println();
//2) 在list的第二个位置添加元素,tahao
list.add(1,"tahao"); //从0开始计数
System.out.print("添加“tahao”后,list中的元素为:\t");
for(int i=0;i
System.out.print(list.get(i)+"\t");
}
System.out.println();
//3) 用Iterator迭代器遍历打印list中元素
//迭代器
Iterator it=list.iterator();
//判断是否有下一个元素:hasNext();
System.out.print("用Iterator迭代器遍历打印list中的元素: ");
while(it.hasNext()){
System.out.print(it.next()+"\t");
}
System.out.println();
//4)在打印时,将list中的nihao,修改为nibuhao(提示:需要用到ListIterator)
list.set(0, "nibuhao");
Iterator it1=list.iterator();
System.out.print("修改之后的list为:");
while(it1.hasNext()){
System.out.print(it1.next()+"\t");
}
System.out.println();
}
private static List set(int i, String string) {
// TODO Auto-generated method stub
return null;
}
}
相关文章推荐
- 天地图专题三:根据标注点的范围确定天地图的中心点和缩放级别
- print "hello" SyntaxError: Missing parentheses in call to 'print'
- 解决ECLIPSE 卡死的方法
- ubuntu安装libvirt
- 【Python】Learn Python the hard way, ex9 换行符,打印多行字符
- vs2015 打不开了 提示"CSharpPackage"
- C++基础知识:c 函数调用过程原理及函数栈帧分析
- 从此不再惧怕URI编码:JavaScript及C# URI编码详解
- eclipse容易卡死或者较慢的解决方案
- TELPAD MT7 User Manual
- 【转】 slam 优化包g2o 学习
- iOS学习之查看图片某点的ARGB
- linux系统下apt-get指令的使用
- Connection Timeout和Command Timeout
- 960.gs
- C#中==与equal的区别
- Mongodb开启与关闭
- VS 2008配置Winpcap环境
- String,StringBuffer与StringBuilder的区别
- ZH奶酪:PHP 执行时间Fatal error: Maximum execution time of...