导航:首页 > 编程语言 > java集合for循环

java集合for循环

发布时间:2022-06-04 10:50:41

‘壹’ java 中for循环的一个用法

该问题中for循环的一个用法指的是foreach用法,下面详细讲述:

foreach语句是java5的新特征之一,在遍历数组、集合方面,foreach为开发人员提供了极大的方便。
foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而,任何的foreach语句都可以改写为for语句版本。
foreach并不是一个关键字,习惯上将这种特殊的for语句格式称之为“foreach”语句。从英文字面意思理解foreach也就是“for 每一个”的意思。实际上也就是这个意思。
foreach的语句格式:
for(元素类型t 元素变量x : 遍历对象obj){
引用了x的java语句;
}
示例代码:
List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
list.add("3");
for (String x : list) {
System.out.println(x);
}
Object s[] = list.toArray();
for (Object x : s) {
System.out.println(x.toString()); //逐个输出数组元素的值
}

‘贰’ java 基于集合的for循环,java中for(;;)是什么意思怎么理解。

死循环,此条件永远为真,也就是无限执行循环体,相当于:
bool = true;
while(bool)
{
//do something

}

‘叁’ java里面的for循环的格式: for(String s : arr)是什么意思,能否详细解释一下

for的循环语句for(String s : args)这个格式是foreach的形式,表示取出数组args[]中的每一个元素,就是循环一次就依次取出一个元素赋值给s,知道取完为止java中的foreach也是用for表示具体语法分两种:

第一种-数组for(type var : arr) {//循环体}示例(这里以List为例):List<String> list = new ArrayList<String>();for(String item : list){System.out.println("循环元素:" + item);}

第二种-非数组类可迭代对象for(type var : coll) {//循环体}示例:Map<String, String> map = new HashMap<String, String>();for(Entry<String, String> item : map.entrySet()){System.out.println("循环元素 key:" + item.getKey() + " value:" + item.getValue());}

其实本质上和for(int i=0;i<length;i++)没太大区别,但是for(String s : arr)中的arr一定是字符串数组,每次循环取一个字符串出来赋值给s,直到arr数组长度-1结束。

(3)java集合for循环扩展阅读:

Java for循环的几种用法:

在Java程序中,要“逐一处理”或者说,“遍历”某一个数组或Collection中的元素的时候,一般会使用一个for循环来实现(当然,用其它种类的循环也不是不可以,只是不知道是因为for这个词的长度比较短,还是因为for这个词的含义和这种操作比较配,在这种时候for循环比其它循环常用得多)。

对于遍历数组,这个循环一般是采取这样的写法:

清单1:遍历数组的传统方式

复制代码 代码如下:

/* 建立一个数组 */

int[] integers = {1, 2, 3, 4};

/* 开始遍历 */

for (int j = 0; j < integers.length; j++) {

int i = integers[j];

System.out.println(i);

}

而对于遍历Collection对象,这个循环则通常是采用这样的形式:

清单2:遍历Collection对象的传统方式

复制代码 代码如下:

/* 建立一个Collection */

String[] strings = {"A", "B", "C", "D"};

Collection stringList = java.util.Arrays.asList(strings);

/* 开始遍历 */

for (Iterator itr = stringList.iterator(); itr.hasNext();) {

Object str = itr.next();

System.out.println(str);

}

而在Java语言的最新版本――J2SE
1.5中,引入了另一种形式的for循环。借助这种形式的for循环,现在可以用一种更简单地方式来进行遍历的工作。

1、 第二种for循环

不严格的说,Java的第二种for循环基本是这样的格式:

for (循环变量类型 循环变量名称 : 要被遍历的对象) 循环体

借助这种语法,遍历一个数组的操作就可以采取这样的写法:

清单3:遍历数组的简单方式

复制代码 代码如下:

/* 建立一个数组 */

int[] integers = {1, 2, 3, 4};

/* 开始遍历 */

for (int i : integers) {

System.out.println(i); /* 依次输出“1”、“2”、“3”、“4” */

}

这里所用的for循环,会在编译期间被看成是这样的形式:

清单4:遍历数组的简单方式的等价代码

复制代码 代码如下:

/* 建立一个数组 */

int[] integers = {1, 2, 3, 4};

/* 开始遍历 */

for (int 变量名甲 = 0; 变量名甲 < integers.length; 变量名甲++) {

System.out.println(integers[变量名甲]); /* 依次输出“1”、“2”、“3”、“4” */

}

这里的“变量名甲”是一个由编译器自动生成的不会造成混乱的名字。

‘肆’ Java for循环几种写法整理

1:遍历数组的传统方式
/* 建立一个数组 */
int[] integers = {1, 2, 3, 4};
/* 开始遍历 */
for (int j = 0; j<integers.length; j++){
int i = integers[j];
System.out.println(i);
}

2:遍历Collection对象的传统方式

/* 建立一个Collection */
String[] strings = {"A", "B", "C", "D"};
Collection stringList = java.util.Arrays.asList(strings);
/* 开始遍历 */
for (Iterator itr = stringList.iterator(); itr.hasNext();) {
Object str = itr.next();
System.out.println(str);
}

3:遍历数组的简单方式

/* 建立一个数组 */
int[] integers = {1, 2, 3, 4};
/* 开始遍历 */
for (int i : integers) {
System.out.println(i);/* 依次输出“1”、“2”、“3”、“4” */
}
4:遍历数组的简单方式的等价代码

/* 建立一个数组 */
int[] integers = {1, 2, 3, 4};
/* 开始遍历 */
for (int 变量名甲 = 0; 变量名甲<integers.length; 变量名甲++) {
System.out.println(integers[变量名甲]);/* 依次输出“1”、“2”、“3”、“4” */
}
5:遍历Collection的简单方式

/* 建立一个Collection */
String[] strings = {"A", "B", "C", "D"};
Collection list = java.util.Arrays.asList(strings);
/* 开始遍历 */
for (Object str : list) {
System.out.println(str);/* 依次输出“A”、“B”、“C”、“D” */
}
6:遍历Collection的简单方式的等价代码

/* 建立一个Collection */
String[] strings = {"A", "B", "C", "D"};
Collection stringList = java.util.Arrays.asList(strings);
/* 开始遍历 */
for (Iterator 变量名乙 = list.iterator(); 变量名乙.hasNext();) {
Object str = 变量名乙.next();
System.out.println(str);/* 依次输出“A”、“B”、“C”、“D” */
}
7:禁止重新赋值

int[] integers = {1, 2, 3, 4};
for (final int i : integers) {
i = i / 2; /* 编译时出错 */
}
8:允许修改状态

Random[] randoms = new Random[]{new Random(1), new Random(2), new Random(3)};
for (final Random r : randoms) {
r.setSeed(4);/* 将所有Random对象设成使用相同的种子 */
System.out.println(r.nextLong());/* 种子相同,第一个结果也相同 */
}
9:使用和要被遍历的数组中的元素相同类型的循环变量

int[] integers = {1, 2, 3, 4};
for (int i : integers) {
System.out.println(i);/* 依次输出“1”、“2”、“3”、“4” */
}

10:使用和要被遍历的Collection中的元素相同类型的循环变量

Collection< String> strings = new ArrayList< String>();
strings.add("A");
strings.add("B");
strings.add("C");
strings.add("D");
for (String str : integers) {
System.out.println(str);/* 依次输出“A”、“B”、“C”、“D” */
}
11:使用要被遍历的对象中的元素的上级类型的循环变量

String[] strings = {"A", "B", "C", "D"};
Collection< String> list = java.util.Arrays.asList(strings);
for (Object str : list) {
System.out.println(str);/* 依次输出“A”、“B”、“C”、“D” */
}

12:使用能和要被遍历的对象中的元素的类型自动转换的类型的循环变量

int[] integers = {1, 2, 3, 4};
for (Integer i : integers) {
System.out.println(i);/* 依次输出“1”、“2”、“3”、“4” */
}

‘伍’ java中for循环的几种写法

以下为for循环的几种写法:
/***
方法一:最普通的不加思考的写法
* <p>*优点:较常见,易于理解
* <p>* 缺点:每次都要计算list.size()*/
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
/***
方法二:数组长度提取出来
* <p>* 优点:不必每次都计算
* <p>* 缺点:
1、m的作用域不够小,违反了最小作用域原则
2、不能在for循环中操作list的大小,比如除去或新加一个元素*/
int m = list.size();
for (int i = 0; i < m; i++) {
System.out.println(list.get(i));
}
/***
方法三:数组长度提取出来
* <p>* 优点:
1、不必每次都计算
2、所有变量的作用域都遵循了最小范围原则
* <p>* 缺点:
1、m的作用域不够小,违反了最小作用域原则
2、不能在for循环中操作list的大小,比如除去或新加一个元素*/
for (int i = 0, n = list.size(); i < n; i++) {
System.out.println(list.get(i));
}
/***
方法四:采用倒序的写法
* <p>* 优点:
1、不必每次都计算
2、所有变量的作用域都遵循了最小范围原则
* <p>* 缺点:
1、结果的顺序会反
2、看起来不习惯,不易读懂
* <p>* 适用场合:与显示结果顺序无关的地方:比如保存之前数据的校验*/
for (int i = list.size() - 1; i >= 0; i--) {
System.out.println(list.get(i));
}
/***
方法五:Iterator遍历
* <p>* 优点:简洁
* <p>* 缺点:*/
for (Iterator<String> it = list.iterator(); it.hasNext();) {
System.out.println(it.next());
}
/*** 方法六:
jdk1.5新写法
* <p>* 优点:简洁结合泛型使用更简洁*
<p>* 缺点:jdk1.4向下不兼容*/
for (Object o : list) {
System.out.println(o);
}

‘陆’ java 遍历集合怎么在循环外使用

‘柒’ Java中Set集合怎样用for遍历

增强型的for循环 和普通for循环一样
增强型的for循环 优点主要体现在集合中,随便举个例子
比如对 set 的遍历
一般是迭代遍历:
Set<String> set = new HashSet<String>();
Iterator<String> it = set.iterator();
while (it.hasNext()) {
String str = it.next();
System.out.println(str);
}
for循环遍历:
for (String str : set) {
System.out.println(str);
}
是不是简单些?

优点还体现在泛型 假如 set中存放的是Object

Set<Object> set = new HashSet<Object>();
for循环遍历:
for (Object obj: set) {
if(obj instanceof Integer){
int aa= (Integer)obj;
}else if(obj instanceof String){
String aa = (String)obj
}
........
}

唯一的缺点就是 在遍历 集合过程中,不能对集合本身进行操作
for (String str : set) {
set.remove(str);//错误!
}

阅读全文

与java集合for循环相关的资料

热点内容
服务器播放器如何打开方式 浏览:788
phppython快 浏览:363
pdf转换word免费版 浏览:35
二手的有什么APP 浏览:328
服务器的应用镜像是什么 浏览:151
命令行的使用方法 浏览:511
怎么让图片左右压缩 浏览:653
白鹿原pdf 浏览:431
人民币怎么算法 浏览:756
什么app可以听懂刺猬说话 浏览:600
安卓机内存小如何扩大 浏览:127
粉丝服务器怎么和安卓手机通信 浏览:400
初中数学竞赛pdf 浏览:570
linux自定义安装 浏览:190
fpic要在每个编译文件 浏览:868
编译原理广义推导的定义 浏览:913
怎么在已有的压缩文件里加密码 浏览:519
安卓手机怎么设置系统软件 浏览:768
php前端java后端 浏览:796
数据框转换为矩阵python 浏览:76