将Set <String>转换为List <String>的最简洁的方法
我目前正在这样做:
Set<String> setOfTopicAuthors = .... List<String> list = Arrays.asList( setOfTopicAuthors.toArray( new String[0] ) );
你能打败吗?
List<String> list = new ArrayList<String>(listOfTopicAuthors);
List<String> l = new ArrayList<String>(listOfTopicAuthors);
可能是晚了一点,但是我们可以在Java 8中使用以下一个class轮:
List<String> list = set.stream().collect(Collectors.toList());
这是一个小例子:
public static void main(String[] args) { Set<String> set = new TreeSet<>(); set.add("A"); set.add("B"); set.add("C"); List<String> list = set.stream().collect(Collectors.toList()); }
试试这个设置 :
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());
如果您正在使用Guava,则可以从Lists类静态导入newArrayList
方法:
List<String> l = newArrayList(setOfAuthors);
不知道你在做什么,只是通过你的代码的上下文,但…
为什么要使listOfTopicAuthors
variables呢?
List<String> list = Arrays.asList((....).toArray( new String[0] ) );
但是“….”代表你的套牌发挥作用,无论是新的还是来自另一个地方。