将Set <string>转换为List <string> </string> </string>的最简洁方法

时间:2010-02-23 15:54:13

标签: java list collections set jdk1.6

我目前正在这样做:

Set<String> setOfTopicAuthors = ....

List<String> list = Arrays.asList( 
    setOfTopicAuthors.toArray( new String[0] ) );

你能打败它吗?

5 个答案:

答案 0 :(得分:422)

List<String> list = new ArrayList<String>(listOfTopicAuthors);

答案 1 :(得分:88)

List<String> l = new ArrayList<String>(listOfTopicAuthors);

答案 2 :(得分:13)

试试Set

Set<String> listOfTopicAuthors = .....
List<String> setList = new ArrayList<String>(listOfTopicAuthors); 

试试Map

Map<String, String> listOfTopicAuthors = .....
// List of values:
List<String> mapValueList = new ArrayList<String>(listOfTopicAuthors.values());
// List of keys:
List<String> mapKeyList = new ArrayList<String>(listOfTopicAuthors.KeySet());

答案 3 :(得分:2)

如果您使用的是Guava,则从Lists类静态导入newArrayList方法:

List<String> l = newArrayList(setOfAuthors);

答案 4 :(得分:0)

不确定您通过代码的上下文做了什么但是...

为什么要制作listOfTopicAuthors变量?

List<String> list = Arrays.asList((....).toArray( new String[0] ) );
&#34; ....&#34;然而,无论是新作还是来自其他地方,您的作品都会发挥作用。