导航:首页 > 编程语言 > listtoarrayjava

listtoarrayjava

发布时间:2024-04-02 04:05:27

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一般结合泛型使用

② java 中关于toArray()方法的问题

包含所有的对象就是list中的所有对象(ste1、2、3、4),指定类型就是list中的那些对象的类型,这里是String。入口参数就是要给与你调用的方法的变量,例如: System.out.println(Arrays.asList(strs2)); “ Arrays.asList(strs2)”是 System.out.println()这个方法的入口参数。数组类型的实例,例如Object[] strs2=list.toArray(); 这个strs就是一个数组类型的实例,就是你要用数组类型的实例给与toArrays()给这个方法。

③ java怎么把list转化成数组

publicstaticvoidlistToarray()
{
List<String>list=newArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
list.add("e");
String[]arr=(String[])list.toArray(newString[list.size()]);
for(inti=0;i<arr.length;i++)
{
System.out.println(arr[i]);
}

}

④ java如何将List赋值给数组

用List的toArray(T[] t) 方法就行。

例子 整数和字符串,其它都一样。

List<Integer>a=newLinkedList<Integer>();
for(inti=0;i<50;i++)
a.add(i);

Integer[]b=newInteger[a.size()];
b=a.toArray(b);

System.out.println(Arrays.toString(b));

List<String>c=newLinkedList<String>();
StringBuildersb=null;
for(inti=0;i<50;i++){
sb=newStringBuilder();
for(intj=0;j<10;j++)
sb.append((char)((Math.random()*26)+65));
c.add(sb.toString());
}
String[]d=newString[c.size()];
d=c.toArray(d);
System.out.println(Arrays.toString(d));

⑤ java怎么把list转成数组

publicstaticvoidlistToarray(){List<String>list=newArrayList<String>();list.add("a");list.add("b");list.add("c");list.add("d");list.add("e");String[]arr=(String[])list.toArray(newString[list.size()]);for(inti=0;i<arr.length;i++){System.out.println(arr[i]);}}

⑥ 跪求详解~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);
}
}
}
}
}
阅读全文

与listtoarrayjava相关的资料

热点内容
安卓手机玩游戏不卡怎么设置 浏览:568
编译链接装载书 浏览:537
面试腾讯公司程序员 浏览:108
一个字母y是什么app 浏览:142
魔兽大脚解压安装教程 浏览:7
超时代共享文件夹破解版 浏览:441
命令与征服红色警戒3攻略 浏览:724
解压缩jar包 浏览:586
如何计算服务器的最大并发数 浏览:345
java数组类型定义 浏览:850
安卓卡一和卡二怎么切换 浏览:985
用价值观统领算法强化责任 浏览:783
外汇阿里云服务器买哪一种类型 浏览:448
绍兴程序员接私活攻略 浏览:644
java获取上传图片 浏览:49
主次梁交叉处箍筋加密长度 浏览:967
快递时效的算法 浏览:586
菜谱大全pdf 浏览:318
怎么在风云pdf上把文件夹汇总 浏览:881
java创建子类 浏览:533