Java中foreach添加String数组到List集合,有没有更简洁的方式?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中foreach添加String数组到List集合,有没有更简洁的方式?相关的知识,希望对你有一定的参考价值。

如下:
String[] str = "a","b","c";
List<String> list = new ArrayList<String>();
for(String s : str)
list.add(s);

初学Java,问一下有没有更简短的方式?

List<String> list = Arrays.asList(str);//数组直接转成集合!
或者一步到位:
List<String> list = Arrays.asList(new String[] "a", "b", "c" );

参考技术A 有的但差不多

有关Java里面foreach的问题,我是小白,各位高手告诉下,谢谢

public class Tautog //创建类
public static void main(String[] args) //主方法
int arr2[][] = 4, 3 , 1, 2 ; //定义二维数组
System.out.println("数组中的元素是:"); //提示信息
for (int x[] : arr2) //外层循环变量为一维数组
f or (int e : x) //循环遍历每一个数组元素
if (e == x.length) //判断变量是二维数组中的最后一个元素
System.out.print(e); //输出二维数组的最后一个元素
else //如何不是二维数组中的最后一个元素
System.out.print(e + "、"); //输出信息




我想问下if (e == x.length) //判断变量是二维数组中的最后一个元素这句里面,e是元素为什么可以和长度相等,这句该怎么解释啊?谢谢
那个说明我知道,可是如果最后一个是5,前面也有5,那当e是前面的5时也会出现判断错误的情况,这个最后一个是无论怎样都会输出,但这个是一个条件,区别在于后面那句,如果是最后一个那没有顿号,不是最后一个有顿号!

那句话写错了,他判断不了最后一个元素,像楼上说的这个例子正好最后一个元素是2,所以才相等,如果换个数就不等了,可以换成这样 if (e == arr2[arr2.length-1][x.length-1])就可以判断最后一个元素了 ,把这句话换成
if (e == x.length) //判断变量是二维数组中的最后一个元素

就可以了
参考技术A e是元素2,而x.length是数组长度2,如此而已,你将最后一个元素改为5,然后在if(e==x.length)中写System.out.println("最后一个元素");
System.out.printl(e);你看看最后一个元素是否会输出;
还有无论e==x.length是否成立,最后一个元素都会输出,你根本就无法判断e==x.length是否成立了。
参考技术B 这个算法是错的~~~我只能这么说,虽然结果一样 参考技术C 应该不能这样比较的
在这个例子中刚好最后一个元素是2,而且长度也是2
参考技术D 这个 你还是看看书吧 亲。。

以上是关于Java中foreach添加String数组到List集合,有没有更简洁的方式?的主要内容,如果未能解决你的问题,请参考以下文章

将数组的内容作为列表元素添加到无序列表中。

java中foreach括号中写的是啥

Java list .remove 方法仅适用于 foreach 循环中的倒数第二个对象[重复]

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

带有两个数组的Java foreach循环[重复]

如何在js中循环赋值给页面上的li附上标签?