如何将可变参数函数参数转换为集合(如Set或List)

时间:2010-10-28 07:05:54

标签: java collections variadic-functions

在Java中,我们可以通过以下方式使用可变参数函数:

public Set packStrings(String...strings){
    for (String str : strings){
         //Do something on the str
    }

    //How to convert strings into a Set?
}

我的问题是,“字符串”的类型是什么?是String []? 如何将“strings”表示的字符串放入Java Collection中,例如Set或List?

请劝告。

谢谢&问候, William Choi

2 个答案:

答案 0 :(得分:3)

这是一个字符串数组,所以你可以这样做:

Arrays.asList(strings);

答案 1 :(得分:2)

public Set<String> packStrings(String...strings){

    //Way 1 to create List
    List<String> strList = new ArrayList<String>();
    for (String str : strings){
         //adding to list
         strList.add(str);
    }
    //way 2 to create List
    List<String> strList = Arrays.asList(strings);
    //converting to set from List
    Set<String> setStr= new HashSet<String>(strList);
    return setStr;
}  

看看这个Doc