例如,我目前正在做这个:

Set<String> setOfTopicAuthors = ....

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

你能打败这个吗?


当前回答

如果你正在使用Guava,你静态地从Lists类导入newArrayList方法:

List<String> l = newArrayList(setOfAuthors);

其他回答

如果你正在使用Guava,你静态地从Lists类导入newArrayList方法:

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

通过代码的上下文,我不太确定你在做什么,但是……

为什么要让listOfTopicAuthors变量?

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

“....”代表你的套装是如何开始的,无论是新的还是来自其他地方。

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

试试Set:

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

试试这个地图:

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());