导航:首页 > 编程语言 > java数组foreach

java数组foreach

发布时间:2022-06-19 11:54:15

1. java foreach问题

因为在foreach里面只能修改list里面元素的内容,而不能改变list的大小。虽然你list.add(a)和
list.add(b)了,但是,这是无效的,所以list.size()为0。

2. java中for或foreach是如何遍历数组的

String[]array={"1","2","3","4","5"};
//for循环
for(inti=0;i<array.length;i++){
System.out.println(array[i]);
}

//foreach不是java里面的关键字,foreache循环一般是指这个
for(Stringstring:array){
System.out.println(string);
}

3. java foreach有什么用

java1.5发行版中引入for-each循环,通过隐藏迭代器或者索引变量,避免混乱或者出错的可能。其次foreach的效率比简单for的效率更高,除此之外,有三种情况无法使用for
each循环
1.
过滤:遍历集合,并删除特定元素,这时候需要用迭代器
2.
转换:遍历列表或者数组,并取代它部分或者全部的元素值,需要迭代器或者数组索引。
3.
平行迭代:如果需要并行地遍历多个集合

4. java遍历数组的Foreach是所有循环语句的简写格式吗

for循环 可以用于遍历数组或集合 可以遍历和修改 数组或集合的值
foreach 是for循环的简写 为了方便 可以避免 数组越界
但要注意:foreach 语句 可以遍历 但是 不可修改 数组或者集合的值

5. 跪求详解~java中foreach方法来遍历数组的详解,主要问题是for(a:b)这里的问题不太懂!!!

增强for(part1:part2){part3};

part2中是一个数组对象,或者是带有泛性的集合.
part1定义了一个局部变量,这个局部变量的类型与part2中的对象元素的类型是一致的.
part3当然还是循环体.

foreach语句是java5的新特征之一,在遍历数组、集合方面,foreach为开发人员提供了极大的方便。

foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而,任何的foreach语句都可以改写为for语句版本。

foreach并不是一个关键字,习惯上将这种特殊的for语句格式称之为“foreach”语句。从英文字面意思理解foreach也就是“for 每一个”的意思。实际上也就是这个意思。

foreach的语句格式:

for(元素类型t 元素变量x : 遍历对象obj){

引用了x的java语句;

}

importjava.util.Arrays;
importjava.util.List;
importjava.util.ArrayList;
/**
*webkfa技术提供
*/
publicclassTestArray{
publicstaticvoidmain(Stringargs[]){
TestArraytest=newTestArray();
test.test1();
test.listToArray();
test.testArray3();

}

/**
*foreach语句输出一维数组
*/
publicvoidtest1(){
//定义并初始化一个数组
intarr[]={2,3,1};
System.out.println("----1----排序前的一维数组");
for(intx:arr){
System.out.println(x);//逐个输出数组元素的值
}

//对数组排序
Arrays.sort(arr);

//利用java新特性foreach循环输出数组
System.out.println("----1----排序后的一维数组");
for(intx:arr){
System.out.println(x);//逐个输出数组元素的值
}
}

/**
*集合转换为一维数组
*/
publicvoidlistToArray(){
//创建List并添加元素
List<String>list=newArrayList<String>();
list.add("1");
list.add("3");
list.add("4");

//利用froeach语句输出集合元素
System.out.println("----2----froeach语句输出集合元素");
for(Stringx:list){
System.out.println(x);
}

//将ArrayList转换为数组
Objects[]=list.toArray();

//利用froeach语句输出集合元素
System.out.println("----2----froeach语句输出集合转换而来的数组元素");
for(Objectx:s){
System.out.println(x.toString());//逐个输出数组元素的值
}
}

/**
*foreach输出二维数组测试
*/
publicvoidtestArray2(){
intarr2[][]={{4,3},{1,2}};
System.out.println("----3----foreach输出二维数组测试");
for(intx[]:arr2){
for(inte:x){
System.out.println(e);//逐个输出数组元素的值
}
}
}

/**
*foreach输出三维数组
*/
publicvoidtestArray3(){
intarr[][][]={
{{1,2},{3,4}},
{{5,6},{7,8}}
};

System.out.println("----4----foreach输出三维数组测试");
for(int[][]a2:arr){
for(int[]a1:a2){
for(intx:a1){
System.out.println(x);
}
}
}
}
}

6. java中for或foreach遍历数组问题。

自从Java5中引入了foreach语句之后,在循环遍历数组、集合方面带来了极大的方便,但是在用foreach的时候也要注意其与for循环是不能完全划等号的。

在使用foreach遍历数组集合的过程中一定要注意不要修改其内容,在Java程序中会进行报错,但是在有些时候没有错误提示,就会造成花很多时间找不到问题所在。

7. java中for each的用法

foreach语句是java5的新特征之一,在遍历数组、集合方面,foreach为开发人员提供了极大的方便。
foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而,任何的foreach语句都可以改写为for语句版本。
foreach并不是一个关键字,习惯上将这种特殊的for语句格式称之为“foreach”语句。从英文字面意思理解foreach也就是“for 每一个”的意思。实际上也就是这个意思。
foreach的语句格式:
for(元素类型t 元素变量x : 遍历对象obj){
引用了x的java语句;
}
下面通过两个例子简单例子看看foreach是如何简化编程的。代码如下:
一、foreach简化数组和集合的遍历
import java.util.Arrays;
import java.util.List;
import java.util.ArrayList;

/**
* Created by IntelliJ IDEA.
* User: leimin
* Date: 2007-12-3
* Time: 16:58:24
* Java5新特征之foreach语句使用总结
*/
public class TestArray {
public static void main(String args[]) {
TestArray test = new TestArray();
test.test1();
test.listToArray();
test.testArray3();

}

/**
* foreach语句输出一维数组
*/
public void test1() {
//定义并初始化一个数组
int arr[] = {2, 3, 1};
System.out.println("----1----排序前的一维数组");
for (int x : arr) {
System.out.println(x); //逐个输出数组元素的值
}

//对数组排序
Arrays.sort(arr);

//利用java新特性for each循环输出数组
System.out.println("----1----排序后的一维数组");
for (int x : arr) {
System.out.println(x); //逐个输出数组元素的值
}
}

/**
* 集合转换为一维数组
*/
public void listToArray() {
//创建List并添加元素
List<String> list = new ArrayList<String>();
list.add("1");
list.add("3");
list.add("4");

//利用froeach语句输出集合元素
System.out.println("----2----froeach语句输出集合元素");
for (String x : list) {
System.out.println(x);
}

//将ArrayList转换为数组
Object s[] = list.toArray();

//利用froeach语句输出集合元素
System.out.println("----2----froeach语句输出集合转换而来的数组元素");
for (Object x : s) {
System.out.println(x.toString()); //逐个输出数组元素的值
}
}

/**
* foreach输出二维数组测试
*/
public void testArray2() {
int arr2[][] = {{4, 3}, {1, 2}};
System.out.println("----3----foreach输出二维数组测试");
for (int x[] : arr2) {
for (int e : x) {
System.out.println(e); //逐个输出数组元素的值
}
}
}

/**
* foreach输出三维数组
*/
public void testArray3() {
int arr[][][] = {
{{1, 2}, {3, 4}},
{{5, 6}, {7, 8}}
};

System.out.println("----4----foreach输出三维数组测试");
for (int[][] a2 : arr) {
for (int[] a1 : a2) {
for (int x : a1) {
System.out.println(x);
}
}
}
}
}
运行结果:
----1----排序前的一维数组
2
3
1
----1----排序后的一维数组
1
2
3
----2----froeach语句输出集合元素
1
3
4
----2----froeach语句输出集合转换而来的数组元素
1
3
4
----4----foreach输出三维数组测试
1
2
3
4
5
6
7
8

Process finished with exit code 0
二、foreach语句的局限性
通过上面的例子可以发现,如果要引用数组或者集合的索引,则foreach语句无法做到,foreach仅仅老老实实地遍历数组或者集合一遍。下面看一个例子就明白了:
/**
* Created by IntelliJ IDEA.
* User: leimin
* Date: 2007-12-3
* Time: 17:07:30
* foreach语句的局限性
*/
public class TestArray2 {

public static void main(String args[]) {
//定义一个一维数组
int arr[] = new int[4];
System.out.println("----未赋值前输出刚刚定义的数组----");
for (int x : arr) {
System.out.println(x);
}

//通过索引给数组元素赋值
System.out.println("----通过循环变量给数组元素赋值----");
for (int i = 3; i > 0; i--) {
arr[i] = i;
}
//循环输出创建的数组
System.out.println("----赋值后,foreach输出创建好的数组----");
for (int x : arr) {
System.out.println(x);
}
}
}

运行结果:
----未赋值前输出刚刚定义的数组----
0
0
0
0
----通过循环变量给数组元素赋值----
----赋值后,foreach输出创建好的数组----
0
1
2
3

Process finished with exit code 0
三、总结
foreach语句是for语句特殊情况下的增强版本,简化了编程,提高了代码的可读性和安全性(不用怕数组越界)。相对老的for语句来说是个很好的补充。提倡能用foreach的地方就不要再用for了。在用到对集合或者数组索引的情况下,foreach显得力不从心,这个时候是用for语句的时候了。foreach一般结合泛型使用

8. Java的foreach怎么用

JAVA中foreach循环使用

foreach语句是java5的新特征之一,在遍历数组、集合方面,foreach为开发人员提供了极大的方便。

foreach 语法格式如下:

注意事项:

foreach不支持在循环中添加删除操作,因为在使用foreach循环的时候数组(集合)就已经被锁定不能被修改,否则会报出java.util.异常。

9. java怎样用foreach遍历字符串数组

publicstaticvoidmain(Stringargs[]){
Stringarr[]={"3","25","4","71","12","8"};

for(Stringi:arr){//for(stringi:arr){,把string变成String就对了。
------------------

System.out.print(i);}

阅读全文

与java数组foreach相关的资料

热点内容
国内动漫用什么app看 浏览:353
树莓派高级编程 浏览:928
30岁学编程晚吗 浏览:68
解压专家怎么打开 浏览:86
php开源留言板 浏览:49
新乡市区疫情怎么查询app 浏览:158
我的世界服务器怎么弄图 浏览:999
vc6的编译框 浏览:198
程序员写照 浏览:539
怎么退出github服务器版本 浏览:797
云服务器sip 浏览:910
对称平衡型压缩机 浏览:953
rust连接什么服务器 浏览:382
php删除数组的空元素 浏览:74
有什么古今翻译的app 浏览:54
华为平板里的app热门推荐怎么关闭 浏览:731
kindle可以看pdf吗 浏览:620
小米文件夹变小 浏览:324
为什么安卓系统不设计横屏 浏览:686
myeclipse编译文件 浏览:586