总结for循环及for循环增强遍历数组,list,set和map
一.对于集合
(1)普通for循环
int[] arr = { 2, 1, 2 };
for(int i=0;i<arr.length;i++){
System.out.println(arr[i]);
}
(2)for循环增强
int[] arr = { 2, 1, 2 };
for (int i : arr) {
System.out.println(i);
}
System.out.println("********************");
//二维数组
int [][]arr1={{2,1,3},{1,2,5}};
for(int []i:arr1){
for(int j:i){
System.out.println(j);
}
}
二.对于list,list是一个接口,有很多实现它的类,例如ArrayList,LinkedList,Vector。
(1)使用普通的for循环和迭代器
List<String> list=new ArrayList<String>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
//普通的遍历
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
System.out.println("****************");
//使用迭代器
Iterator<String> iterator=list.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
(2)使用for循环增强
for(String s:list){
System.out.println(s);
}
(3)在java8中增加了一种方式,可以调用forEachRemaining方法遍历元素(标准库中的任何集合都可以),参数是lambda表达式。下面的同理。
iterator.forEachRemaining(i->System.out.println(i));
三.对于set接口,有很多实现它的类,HashSet(无序),LinkedHashSet(有序)
(1)使用迭代器。注意set没有get()方法!!!
Set<String> set=new HashSet<>();
set.add("a");
set.add("b");
set.add("c");
Iterator<String> iterator=set.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
(2)使用for循环增强
for(String s:set){
System.out.println(s);
}
四.对于map接口,有很多实现它的类,HashMap,LinkedHashMap,HashTable。以键值对的形式存放
(1)使用迭代器,有两种方式
Map<String,String> map=new HashMap<>();
map.put("1", "aa");
map.put("2", "bb");
map.put("3", "cc");
//方法1:使用迭代器,取keySet()
Iterator<String> iterator=map.keySet().iterator();
while(iterator.hasNext()){
String key=iterator.next();
String value=map.get(key);
System.out.println("key="+key+" value="+value);
}
//方法2:使用迭代器,取entrySet()
Iterator<String> iterator2=map.entrySet().iterator();
while(iterator2.hasNext()){
Map.Entry<String, String> entry=(Map.Entry<String,String>)iterator2.next();
System.out.println(entry.getKey()+" "+entry.getValue());
}
(2)增强for循环,对上面2种方法改写
//方法1
for(String s:map.keySet()){
System.out.println(s+" "+map.get(s));
}
//方法2使用增强for,entrySet()
for(Map.Entry me:map.entrySet()){
System.out.println(me.getKey()+" "+me.getValue());
}
(3)使用forEach方法
map.forEach((k, v) ->
System.out.println("key=" + k + ", value=" + v));
总结for循环及for循环增强遍历数组,list,set和map的更多相关文章
- 学JAVA第九天,for循环算质数及for遍历数组的方法。
昨天终于收到了评论,老开心了!!! 算质数之前是我最怕的一件事,以前上学不好好学,之前学C#的时候也没好好研究, 直到今天老师逼我要用JAVA算质数,硬着头皮琢磨老半天才琢磨透,现在看来也挺简单的. ...
- JS遍历数组的操作(map、forEach、filter等)
1.map的用法 定义:原数组被“映射”成对应新数组 代码示例: var users = [ {name: "张含韵", "email": "zhan ...
- 程序控制结构及for循环、foreach循环、迭代器
结构化程序设计 三种基本控制结构:顺序结构.选择结构.循环结构. 在这种思想的指导下,发展出了面向过程编程方式.面向过程编程的核心是算法+数据结构.算法可以用顺序.选择.循环这三种基本控制结构来实现. ...
- php中利用reset,current,next和each,list来遍历数组
1.利用for循环以及reset,current,next来遍历数组: $nums = array(11,22,33,44,55,66,77,88); for(reset($nums);current ...
- IT兄弟连 Java语法教程 数组 使用foreach循环遍历数组元素
从JDK5之后,Java提供了一种更简单的循环:foreach循环,也叫作增强for循环,这种循环遍历数组和集合更加简洁.使用foreach循环遍历数组和集合元素时,无需获得数组或集合的长度,无需根据 ...
- *使用while循环遍历数组创建索引和自增索引值
package com.chongrui.test;/* *使用while循环遍历数组 * * * */public class test { public static void main ...
- 浅析PHP中for与foreach两个循环结构遍历数组的区别
遍历一个数组是编程中最常见不过的了,这里跟大家讨论下for和foreach两种方法.用这两种方法执行遍历的场景太多太多了,这里我们只针对以下两个数组作为例子来讨论.所谓管中窥豹,多少能理清一点两者的区 ...
- 使用for循环遍历数组
package review20140419;/* * 遍历数组 */public abstract class Test1 { //程序入口 public static void mai ...
- sqlserver中的循环遍历(普通循环和游标循环)
sql 经常用到循环,下面介绍一下普通循环和游标循环 1.首先需要一个测试表数据Student
随机推荐
- ACM_括号匹配
括号匹配(栈) Time Limit: 2000/1000ms (Java/Others) Problem Description: 给一组包含[]()两种括号的序列,检查是否是合法的. 如:()[] ...
- [转]windows 7 下快速搭建php环境(windows7+IIS7+php+mysql)
转贴:http://apps.hi.baidu.com/share/detail/10406992 (1).采用理由: 优点:最大化的桌面图形化操作系统,可维护性优秀.基于IIS v6.0/v7.0( ...
- javascript 到将来某个时间(2020-5-20)的倒计时
function countDown(dateStr){ var end = +new Date(dateStr), start = +new Date(), during = Math.floor( ...
- python数于字符串
python数于字符串 1.了解数的类型 2.什么事字符串 3.引号的使用与区别 4.转义符 5.自然字符串 6.字符串的重复 7.子字符串 #了解数的类型 1.python中数的类型主要有五种,分为 ...
- Spring注解的步骤
Spring框架提供DI(属性注解)和IOC(类/Bean的注解)注解. 注解:标注.注入和解析.解释;标注和解释一部分代码的作用在框架中:就是配置文件的另外一种实现方式@Type.@Taget;减少 ...
- 安装好Pycharm后如何配置Python解释器简易教程
呃呃,遇到坑了...... 安装完Python,没有去配置好Python解释器,直接打开Python项目包,去运行程序,程序输出结果只是显示 Process finished with exit co ...
- TF实战:(Mask R-CNN原理介绍与代码实现)-Chapter-8
二值掩膜输出依据种类预测分支(Faster R-CNN部分)预测结果:当前RoI的物体种类为i第i个二值掩膜输出就是该RoI的损失Lmask 对于预测的二值掩膜输出,我们对每个像素点应用sigmoid ...
- Win7 下 PB (PowerBuilder) Insert Control 崩溃的解决办法
环境: WIN7 x86 PB8.0, x64系统目录不同,不过也可以试试 Insert -> OLE... -> Insert Control - 崩溃 如果网上提供的办法解决不了你 ...
- 第二节:Css重写样式
一丶 进入浏览器---->F12----->找到要修改的区域的Style 进行重写Css样式 二丶打开新页面 window.open("/Persitent/OtherIndex ...
- HDU多校Round 5
Solved:3 rank:71 E. Everything Has Changed #include <bits/stdc++.h> using namespace std; const ...