合并多个数组以生成List java

时间:2016-02-12 02:33:57

标签: java arrays list collections

我非常喜欢java。我想在单个列表中转换多个数组

private String title[] = { "Cup Cake", "Donut", "Eclair", "Froyo",
        "Ginger Bread", "Honey Comb", "Icecream Sandwich", "Jelly Bean" };

private String desc[] = { "version: 1.5", "version: 1.6",
        "version: 2.0 & 2.1", "version: 2.2", "version: 2.3",
        "version: 3.0", "version: 4.0", "version: 4.1" };

private int thumb[] = {3,4,7,8,10,11,15,16};

想要将其转换为列表<>

List<Element> NameList = Arrays.asList();

怎么做

5 个答案:

答案 0 :(得分:2)

试试这个

List<Object> list =
    Stream.of(Stream.of(title), Stream.of(desc), IntStream.of(thumb).mapToObj(i -> i))
    .flatMap(s -> s)
    .collect(Collectors.toList());
System.out.println(list);

答案 1 :(得分:0)

您需要迭代它们中的每一个。此外,列表中的每个元素都需要是相同的类型(除非您希望它们都是Object。尝试:

list List<String> = new ArrayList<String>
// First array
for (String s: title) {
    list.add(s);
}
// Do the same for other arrays

可选地

list List<Object> = new ArrayList<Object>
// First array
for (Object s: title) {
    list.add(s);
}

在第二种情况下,列表的用处不大,因为在调用元素上的任何方法之前,必须先手动键入检查everthing。

答案 2 :(得分:0)

所有元素都必须属于同一类型,例如String。

您可以尝试以下内容:

import java.util.Arrays;  
import java.util.List;  
import java.util.ArrayList;  

public class StringArrayTest  
{
    public static void main(String[] args)  
    {
        String title[] = { "Cup Cake", "Donut", "Eclair", "Froyo",
        "Ginger Bread", "Honey Comb", "Icecream Sandwich", "Jelly Bean" };

        String desc[] = { "version: 1.5", "version: 1.6",
        "version: 2.0 & 2.1", "version: 2.2", "version: 2.3",
        "version: 3.0", "version: 4.0", "version: 4.1" };

        List<String> newList = new ArrayList<String>();
        newList.addAll( Arrays.asList(title));
        newList.addAll(Arrays.asList(desc));

        for (String e : newList)  
        {  
            System.out.println(e);  
        } 
   }  
}

答案 3 :(得分:0)

假设您希望将整数数组添加到相同的字符串列表中:

import java.util.Arrays;     
import java.util.List;  
import java.util.ArrayList;  

public class StringArrayTest  
{
    public static void main(String[] args)  
    {
        String title[] = { "Cup Cake", "Donut", "Eclair", "Froyo",
        "Ginger Bread", "Honey Comb", "Icecream Sandwich", "Jelly Bean" };

        String desc[] = { "version: 1.5", "version: 1.6",
        "version: 2.0 & 2.1", "version: 2.2", "version: 2.3",
        "version: 3.0", "version: 4.0", "version: 4.1" };

        private int thumb[] = {3,4,7,8,10,11,15,16};

        List<String> nameList = new ArrayList(Arrays.asList(title));
        nameList.addAll(Arrays.asList(desc));
        nameList.addAll(Arrays.toString(thumb));
   }  
}

答案 4 :(得分:0)

来源:

private String title[] = { "Cup Cake", "Donut", "Eclair", "Froyo",
    "Ginger Bread", "Honey Comb", "Icecream Sandwich", "Jelly Bean" };

private String desc[] = { "version: 1.5", "version: 1.6", "version: 2.0 & 2.1", "version: 2.2", "version: 2.3", "version: 3.0", "version: 4.0", "version: 4.1" };

private int thumb[] = {3,4,7,8,10,11,15,16};

假设您想要一个字符串列表:

final List<String> original = Stream.of(title, desc).collect(Collectors.toList()); original.addAll(Stream.of(thumb).map(String::valueOf).collect(Collectors.toList()));