java学习之路-----集合------输出
2013-12-03 15:18
513 查看
集合的输出有4种
1.Iterator 迭代器,使用最多的输出方法
2.ListIterator 用来输出list集合的迭代器
3.Enumeration 是一个旧的接口,和迭代器的功能差不多
4.foreach : jdk 1.5 以后增加的新功能
1.迭代输出 Iterator
集合的输出有一个思想:”就是只要集合要输出,最好就用迭代“,因为这是最标准的做法
迭代输出的原理
来看下源码:
public interface Iterator <E>
{
boolean hasNext();//判断
E next();//取走
void remove();//删除
}
例子:
[align=left]public class IteratorTest {[/align]
public static void main(String[]
args) {
[align=left] List<String> list= new ArrayList<String>();[/align]
[align=left] [/align]
[align=left] list.add( "like");[/align]
[align=left] [/align]
[align=left] list.add( "hello");[/align]
[align=left] [/align]
[align=left] list.add( "hello world");[/align]
[align=left] [/align]
[align=left] Iterator<String> iterator=list.iterator();[/align]
[align=left] [/align]
[align=left] while(iterator.hasNext()){[/align]
[align=left] System. out.print(iterator.next()+"、" );[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left]
[/align]
[align=left]}[/align]
[align=left]结果:[/align]
[align=left]like、hello、hello world、[/align]
[align=left]
[/align]
[align=left]2.删除特定的元素[/align]
[align=left]
[/align]
[align=left]public class IteratorTest1 {[/align]
public static void main(String[]
args) {
[align=left]List<String> list=new ArrayList<String>();[/align]
[align=left] [/align]
[align=left] list.add( "like");[/align]
[align=left] [/align]
[align=left] list.add( "hello");[/align]
[align=left] [/align]
[align=left] list.add( "hello world");[/align]
[align=left] [/align]
[align=left] [/align]
[align=left] Iterator<String> iterator=list.iterator();[/align]
[align=left] [/align]
[align=left] while(iterator.hasNext()){[/align]
[align=left] String str=iterator.next();[/align]
[align=left] if("like" .equals(str)){[/align]
[align=left] iterator.remove();[/align]
[align=left] } else{[/align]
[align=left] System. out.print(str+"、" );[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left]
[/align]
[align=left]}[/align]
[align=left]结果:[/align]
[align=left]hello、hello world、[/align]
[align=left]
[/align]
[align=left]3.listIterator 的双向输出[/align]
public class ListIteratorTest
{
public static void main(String[]
args) {
[align=left]List<String> list=new ArrayList<String>();[/align]
[align=left] [/align]
[align=left] list.add( "like");[/align]
[align=left] [/align]
[align=left] list.add( "hello");[/align]
[align=left] [/align]
[align=left] list.add( "hello world");[/align]
[align=left] [/align]
[align=left] ListIterator<String> iterator=list.listIterator();[/align]
[align=left] [/align]
[align=left] while(iterator.hasNext()){//由前向后输出[/align]
[align=left] System. out.print(iterator.next()+"、" );[/align]
[align=left] }[/align]
[align=left] [/align]
[align=left] System. out.println("" );[/align]
[align=left] [/align]
[align=left] while(iterator.hasPrevious()){//由后向前输出[/align]
[align=left] String str=iterator.previous();[/align]
[align=left] System. out.print(str+"、" );[/align]
[align=left] }[/align]
[align=left] [/align]
[align=left] }[/align]
[align=left]
[/align]
[align=left]}[/align]
[align=left]结果:[/align]
[align=left]like、hello、hello world、[/align]
[align=left]hello world、hello、like、[/align]
[align=left]
[/align]
[align=left]补充:如果想要由后向前输出,就必须要有由前向后输出[/align]
[align=left]
[/align]
[align=left]4.增加及替换元素[/align]
[align=left]
[/align]
public class ListIteratorDemo
{
public static void main(String[]
args) {
[align=left]List<String> list=new ArrayList<String>();[/align]
[align=left] [/align]
[align=left] list.add( "like");[/align]
[align=left] [/align]
[align=left] list.add( "hello");[/align]
[align=left] [/align]
[align=left] list.add( "hello world");[/align]
[align=left] [/align]
[align=left] ListIterator<String> iterator=list.listIterator();[/align]
[align=left] [/align]
[align=left] [/align]
[align=left] while(iterator.hasNext()){[/align]
[align=left] String str=iterator.next();[/align]
[align=left] System. out.print(str+"、" );[/align]
[align=left] iterator.set(str+ "like_");[/align]
[align=left] [/align]
[align=left] }[/align]
[align=left] System. out.println();[/align]
[align=left] iterator.add( "aaaaaaa");[/align]
[align=left] while(iterator.hasPrevious()){[/align]
[align=left] String str=iterator.previous();[/align]
[align=left] System. out.print(str+"、" );[/align]
[align=left] }[/align]
[align=left] [/align]
[align=left] [/align]
[align=left] }[/align]
[align=left]
[/align]
[align=left]}[/align]
[align=left]结果:[/align]
[align=left]like、hello、hello world、[/align]
[align=left]aaaaaaa、hello worldlike_、hellolike_、likelike_、[/align]
[align=left]5.java 1.5 的新特性 foreach[/align]
[align=left]
[/align]
[align=left]public class ForeachDemo {[/align]
public static void main(String[]
args) {
[align=left] List<String> list = new ArrayList<String>();[/align]
[align=left]
[/align]
[align=left] list.add( "like");[/align]
[align=left]
[/align]
[align=left] list.add( "hello");[/align]
[align=left]
[/align]
[align=left] list.add( "hello world");[/align]
[align=left]
[/align]
for (String
list1 : list) {
[align=left] System. out.print(list1+"、" );[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left]
[/align]
[align=left]}[/align]
[align=left]
[/align]
[align=left]结果:[/align]
[align=left]like、hello、hello world、[/align]
[align=left]
[/align]
[align=left]6.废弃的接口 Enumeration [/align]
[align=left]
[/align]
[align=left]它的作用基本上和 Iterator 相同[/align]
[align=left]
[/align]
[align=left]public class EnumerationDemo {[/align]
public static void main(String[]
args) {
[align=left] Vector<String> list = new Vector<String>();[/align]
[align=left]
[/align]
[align=left] list.add( "like");[/align]
[align=left]
[/align]
[align=left] list.add( "hello");[/align]
[align=left]
[/align]
[align=left] list.add( "hello world");[/align]
[align=left]
[/align]
[align=left] Enumeration<String> e =list.elements();[/align]
[align=left] [/align]
[align=left] while(e.hasMoreElements()){[/align]
[align=left] System. out.print(e.nextElement()+"、" );[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left]
[/align]
[align=left]}[/align]
[align=left]
[/align]
[align=left]结果:[/align]
[align=left]like、hello、hello world、[/align]
[align=left]
[/align]
[align=left]
[/align]
[align=left]
[/align]
1.Iterator 迭代器,使用最多的输出方法
2.ListIterator 用来输出list集合的迭代器
3.Enumeration 是一个旧的接口,和迭代器的功能差不多
4.foreach : jdk 1.5 以后增加的新功能
1.迭代输出 Iterator
集合的输出有一个思想:”就是只要集合要输出,最好就用迭代“,因为这是最标准的做法
迭代输出的原理
来看下源码:
public interface Iterator <E>
{
boolean hasNext();//判断
E next();//取走
void remove();//删除
}
例子:
[align=left]public class IteratorTest {[/align]
public static void main(String[]
args) {
[align=left] List<String> list= new ArrayList<String>();[/align]
[align=left] [/align]
[align=left] list.add( "like");[/align]
[align=left] [/align]
[align=left] list.add( "hello");[/align]
[align=left] [/align]
[align=left] list.add( "hello world");[/align]
[align=left] [/align]
[align=left] Iterator<String> iterator=list.iterator();[/align]
[align=left] [/align]
[align=left] while(iterator.hasNext()){[/align]
[align=left] System. out.print(iterator.next()+"、" );[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left]
[/align]
[align=left]}[/align]
[align=left]结果:[/align]
[align=left]like、hello、hello world、[/align]
[align=left]
[/align]
[align=left]2.删除特定的元素[/align]
[align=left]
[/align]
[align=left]public class IteratorTest1 {[/align]
public static void main(String[]
args) {
[align=left]List<String> list=new ArrayList<String>();[/align]
[align=left] [/align]
[align=left] list.add( "like");[/align]
[align=left] [/align]
[align=left] list.add( "hello");[/align]
[align=left] [/align]
[align=left] list.add( "hello world");[/align]
[align=left] [/align]
[align=left] [/align]
[align=left] Iterator<String> iterator=list.iterator();[/align]
[align=left] [/align]
[align=left] while(iterator.hasNext()){[/align]
[align=left] String str=iterator.next();[/align]
[align=left] if("like" .equals(str)){[/align]
[align=left] iterator.remove();[/align]
[align=left] } else{[/align]
[align=left] System. out.print(str+"、" );[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left]
[/align]
[align=left]}[/align]
[align=left]结果:[/align]
[align=left]hello、hello world、[/align]
[align=left]
[/align]
[align=left]3.listIterator 的双向输出[/align]
public class ListIteratorTest
{
public static void main(String[]
args) {
[align=left]List<String> list=new ArrayList<String>();[/align]
[align=left] [/align]
[align=left] list.add( "like");[/align]
[align=left] [/align]
[align=left] list.add( "hello");[/align]
[align=left] [/align]
[align=left] list.add( "hello world");[/align]
[align=left] [/align]
[align=left] ListIterator<String> iterator=list.listIterator();[/align]
[align=left] [/align]
[align=left] while(iterator.hasNext()){//由前向后输出[/align]
[align=left] System. out.print(iterator.next()+"、" );[/align]
[align=left] }[/align]
[align=left] [/align]
[align=left] System. out.println("" );[/align]
[align=left] [/align]
[align=left] while(iterator.hasPrevious()){//由后向前输出[/align]
[align=left] String str=iterator.previous();[/align]
[align=left] System. out.print(str+"、" );[/align]
[align=left] }[/align]
[align=left] [/align]
[align=left] }[/align]
[align=left]
[/align]
[align=left]}[/align]
[align=left]结果:[/align]
[align=left]like、hello、hello world、[/align]
[align=left]hello world、hello、like、[/align]
[align=left]
[/align]
[align=left]补充:如果想要由后向前输出,就必须要有由前向后输出[/align]
[align=left]
[/align]
[align=left]4.增加及替换元素[/align]
[align=left]
[/align]
public class ListIteratorDemo
{
public static void main(String[]
args) {
[align=left]List<String> list=new ArrayList<String>();[/align]
[align=left] [/align]
[align=left] list.add( "like");[/align]
[align=left] [/align]
[align=left] list.add( "hello");[/align]
[align=left] [/align]
[align=left] list.add( "hello world");[/align]
[align=left] [/align]
[align=left] ListIterator<String> iterator=list.listIterator();[/align]
[align=left] [/align]
[align=left] [/align]
[align=left] while(iterator.hasNext()){[/align]
[align=left] String str=iterator.next();[/align]
[align=left] System. out.print(str+"、" );[/align]
[align=left] iterator.set(str+ "like_");[/align]
[align=left] [/align]
[align=left] }[/align]
[align=left] System. out.println();[/align]
[align=left] iterator.add( "aaaaaaa");[/align]
[align=left] while(iterator.hasPrevious()){[/align]
[align=left] String str=iterator.previous();[/align]
[align=left] System. out.print(str+"、" );[/align]
[align=left] }[/align]
[align=left] [/align]
[align=left] [/align]
[align=left] }[/align]
[align=left]
[/align]
[align=left]}[/align]
[align=left]结果:[/align]
[align=left]like、hello、hello world、[/align]
[align=left]aaaaaaa、hello worldlike_、hellolike_、likelike_、[/align]
[align=left]5.java 1.5 的新特性 foreach[/align]
[align=left]
[/align]
[align=left]public class ForeachDemo {[/align]
public static void main(String[]
args) {
[align=left] List<String> list = new ArrayList<String>();[/align]
[align=left]
[/align]
[align=left] list.add( "like");[/align]
[align=left]
[/align]
[align=left] list.add( "hello");[/align]
[align=left]
[/align]
[align=left] list.add( "hello world");[/align]
[align=left]
[/align]
for (String
list1 : list) {
[align=left] System. out.print(list1+"、" );[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left]
[/align]
[align=left]}[/align]
[align=left]
[/align]
[align=left]结果:[/align]
[align=left]like、hello、hello world、[/align]
[align=left]
[/align]
[align=left]6.废弃的接口 Enumeration [/align]
[align=left]
[/align]
[align=left]它的作用基本上和 Iterator 相同[/align]
[align=left]
[/align]
[align=left]public class EnumerationDemo {[/align]
public static void main(String[]
args) {
[align=left] Vector<String> list = new Vector<String>();[/align]
[align=left]
[/align]
[align=left] list.add( "like");[/align]
[align=left]
[/align]
[align=left] list.add( "hello");[/align]
[align=left]
[/align]
[align=left] list.add( "hello world");[/align]
[align=left]
[/align]
[align=left] Enumeration<String> e =list.elements();[/align]
[align=left] [/align]
[align=left] while(e.hasMoreElements()){[/align]
[align=left] System. out.print(e.nextElement()+"、" );[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left]
[/align]
[align=left]}[/align]
[align=left]
[/align]
[align=left]结果:[/align]
[align=left]like、hello、hello world、[/align]
[align=left]
[/align]
[align=left]
[/align]
[align=left]
[/align]
相关文章推荐
- 我的安卓学习之路--java集合
- 13. Java类集 Part 1(类集、Collection接口、List接口、Set接口、SortedSet接口、集合的输出) ----- 学习笔记
- java学习之路---集合(类集)---List
- java学习之路的自我回顾5(集合)
- java学习 表达式集合输出
- java学习之路 之 Java集合练习题
- JAVA学习之路---删除集合中的元素
- java学习之路——小例子(实现输入年份,输出该年份的具体天数信息)
- Java基础知识学习之路-09-第八章-Java集合
- JAVA学习笔记_历遍输出集合
- Java学习之使用集合实现对字符串中元素指定格式输出
- 黑马程序员 【】java学习之路——集合Collecton
- java学习之路-----集合(类集)-------set
- Java 学习之路 Week01
- java学习3:集合遍历增删报错,at java.util.HashMap$KeyIterator.next
- Java学习之4种方法遍历Map集合
- 黑马程序员 JAVA基础学习笔记 集合等
- 深入Java集合学习系列:HashMap的实现原理
- 【Java学习笔记】不要把一个非临时可变对象添加入集合中!
- JAVA学习之路--Tomacat安装及常见问题