java中遍历是什么意思_java中的遍历总结与不同.

java中的遍历方式:

在java中总会遇到遍历,或许是数组,或许是集合,而数组是有限的长度,但是在集合中呢?理想中只要你的内存足够,就可以存取你想要的任何长度。

但是再说到遍历,可以分为遍历一个有序的集合或者无序的集合或者数组,下面我们就看下对于它们两者之间的不同遍历方式。

1.使用传统的for循环:

我们通常把对有下标的简单的遍历,结构为:for(起始条件;终止条件;更改起始条件){      }形如:

1 //创建的一个数组

2 int[] arr= {1,2,3,4,5,6,7,8,9};3

4 for(int i=0;i<=arr.length;i++){5 System.out.println(arr[i]);6 }7

在这种简单的for循环中,可以根据下标获取相对应的值.通常使用在数组或者有序的集合中。

2.使用增强型for循环,结构为:for( 接收循环的数据类型  值:需要循环的对象){    }

对于上面的数组遍历,也可以使用增强型循环;形如 :

for(inta:arr) {

System.out.println(a);

}

可以看出增强型循环不需要下标值,可以直接遍历出数组中的元素;通常我们使用增强型循环来遍历一个集合,该集合可以是没有下标的或者有下标的.

3.使用迭代器.但是需要说明的是,迭代器的使用只能在集合中使用.其实对集合的遍才是我写这篇文章的主要目的

集合有Connlection  、Map  这两个类型的集合都是接口类型

Connlection中的子接口有List ,然而list有实现类 ArrayList

①.对于Arraylist 使用迭代器进行遍历

1 ArrayList list=new ArrayList<>();2 list.add("jeremy");3 list.add("张三");4 list.add("李四");5

6

7 Iterator iterator=list.iterator();//调用Arraylist中的迭代器方法8 //返回的是Iterator 类型

9

10

11 while(iterator.hasNext()) { //hasNext() 方法 判断迭代器中是否有可以迭代的元素12 //并将指针下移

13 Object item=iterator.next();14 System.out.println(item);15

16 }

②对于set的遍历

//和list 集合中的遍历方法一致 区别在于set集合没有顺序//不可以根据下标获得

Set set=new HashSet<>();

set.add("jeremy");

set.add("张三");

set.add("李四");//使用iterator 遍历

Iterator< String > iterator=set.iterator();while(iterator.hasNext()) {

Object object=iterator.next();

System.out.println(object);

}//可以使用foreach循环遍历

for(String item:set) {

System.out.println(item);

}

}

当然,没有增强型循环 foreach可以使用在list中

③对于map的遍历

map的存储格式为键1----值 1,键2-----值2.  可根据get(key)方法 来取得值,key 为键

并且map也是一个无序 的集合  ,map没有自带的iterator()方法,     要遍历map,除了使用foreach

我们需要使用一个''中间人''. map中有一个方法为keyset();可以得到键,返回一个Set对象.

//创建一个map

Map map=new HashMap<>();//添加数据

map.put("name", "jeremy");

map.put("name1", "张三");

map.put("name3", "李四");//使用set作为中间人 接收键名

Set set=map.keySet();//调用set中的迭代器

Iterator< String > iterator=set.iterator();while(iterator.hasNext()) {

Object object=iterator.next();//根据健名获得键值

System.out.println(object+"-----"+map.get(object));

}

0411a4a04649e1681f63086c51f0ebd3.png

还有一种迭代器是Iterator的子接口LIstIterator,但是这种迭代器中用在有序的集合中,

它们之间的区别为:

ListIterator是Iterator的子接口。

Iterator它的遍历只能从前往后来迭代元素。只能对迭代器列表进行删除操作,

ListIterator可以从前往后,也可以从后往前来进行迭代。可以对迭代器列表进行删除,添加,修改的操作。可以获取迭代器列表的索引。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值