Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将数组中的每个元素添加到列表中_Java_Arrays_List - Fatal编程技术网

Java 将数组中的每个元素添加到列表中

Java 将数组中的每个元素添加到列表中,java,arrays,list,Java,Arrays,List,将数组中的所有元素添加到列表中最简单的方法是什么 e、 g listl=newarraylist(); //要将下面数组中的每个元素添加到l中吗 byte[]b=“something”.getBytes(“UTF-8”); 有没有什么实用的方法或东西可以做到这一点。我尝试使用addAll,但它希望将实际数组添加到集合中 多谢各位 编辑: 为了澄清这一点,我确实希望使用byte[]执行此操作,因为我最终将把列表转换回byte[],并将其馈送到MessageDigest.update()中。这有助

将数组中的所有元素添加到列表中最简单的方法是什么

e、 g

listl=newarraylist();
//要将下面数组中的每个元素添加到l中吗
byte[]b=“something”.getBytes(“UTF-8”);
有没有什么实用的方法或东西可以做到这一点。我尝试使用addAll,但它希望将实际数组添加到集合中

多谢各位

编辑:

为了澄清这一点,我确实希望使用byte[]执行此操作,因为我最终将把列表转换回byte[],并将其馈送到MessageDigest.update()中。这有助于澄清吗

编辑2:


所以看起来
List
不好;非常糟糕。如果我基本上在MessageDigest中添加字节数组(我正在对一些盐和用户信息进行散列),那么建议使用什么样的数据结构?

对于
字节[]
,您遇到了麻烦<代码>数组。asList无法工作,因为您使用的是
字节[]
而不是
字节[]

这是一个“原始vs类”问题。您可能会找到支持此功能的第三方收藏库(如),但我不相信有任何现成的。或者,您也可以自己编写代码:

List<Byte> l = new ArrayList<Byte>();
for (byte b : "something".getBytes("UTF-8"))
{
    l.add(b);
}
这将返回一个包装数组的只读列表-如果您想要一个可变列表,您可以将该包装传递给
ArrayList
构造函数:

String[] array = ...;
List<String> list = new ArrayList<String>(Arrays.asList(array));
String[]数组=。。。;
List List=newarraylist(Arrays.asList(array));

对于
字节[]
,您有麻烦了<代码>数组。asList
无法工作,因为您使用的是
字节[]
而不是
字节[]

这是一个“原始vs类”问题。您可能会找到支持此功能的第三方收藏库(如),但我不相信有任何现成的。或者,您也可以自己编写代码:

List<Byte> l = new ArrayList<Byte>();
for (byte b : "something".getBytes("UTF-8"))
{
    l.add(b);
}
这将返回一个包装数组的只读列表-如果您想要一个可变列表,您可以将该包装传递给
ArrayList
构造函数:

String[] array = ...;
List<String> list = new ArrayList<String>(Arrays.asList(array));
String[]数组=。。。;
List List=newarraylist(Arrays.asList(array));

除非您希望在循环中每次添加一个元素,否则可以使用Apache commons'将基本数组转换为对象数组,然后使用
addAll()

byte[]b=“something”.getBytes(“UTF-8”);
字节[]bArray=ArrayUtils.toObject(b);
列表l=新的ArrayList();
l、 阿道尔(巴里);

除非您希望在循环中每次添加一个元素,否则可以使用Apache commons'将基本数组转换为对象数组,然后使用
addAll()

byte[]b=“something”.getBytes(“UTF-8”);
字节[]bArray=ArrayUtils.toObject(b);
列表l=新的ArrayList();
l、 阿道尔(巴里);

也许ByteBuffer或ByteArrayOutputStream是更好的选择。那些该死的Java泛型和包装类型!无论如何,如果你不羞于加入一些有用的库,请查看给定的标题,我猜byte只是一个示例。我添加了一些说明,感谢所有的输入,而且我很少使用字节,所以我可以在需要时更改数据结构。也许ByteBuffer或ByteArrayOutputStream是更好的选择。那些该死的Java泛型和包装类型!无论如何,如果你不羞于加入一些有用的库,请查看给定的标题,我猜byte只是一个示例。我添加了一些说明,感谢所有的输入,我很少使用byte,因此我可以在需要时更改数据结构。谢谢回答。我只是觉得不值得添加这个项目,因为我只打算使用它一次。谢谢你的回答。我只是觉得不值得添加这个项目,因为我只打算使用它一次。
byte[] b = "something".getBytes("UTF-8");
Byte[] bArray = ArrayUtils.toObject(b);

List<Byte> l = new ArrayList<Byte>();
l.addAll(bArray);