0

我有一个字符串数组加上一个额外的字符串。我想使用这个字符串和数组的值来获取一组字符串。然后我想按字母顺序对字符串集进行排序并提取列表中第一个字符串。在 Java 中最简单的方法是什么?

添加:

我想这样做:

List<String> playersList = Arrays.asList(players);
playersList.add(userName); // <---------- HERE IS A PROBLEM
Collections.sort(playersList);

在编译过程中我没有收到任何错误。但在执行过程中,我得到一个“UnsopportedOperationException”。它发生在第二行。

4

3 回答 3

2

Arrays.asList用不可修改的 包装数组List,因此当您尝试添加它时,它会抛出UnsupportedOperationException. 你可以做什么创建一个新的 aArrayList并添加你的元素,然后你可以自由地修改它。

List<String> list = new ArrayList<String>(Arrays.asList(players));
list.add(userName);
于 2010-03-23T21:54:10.083 回答
1

将值附加到数组并使用 Arrays.sort 对其进行排序,或者创建项目列表并使用 Collections.sort 对它们进行排序。字符串的自然顺序将按字母顺序排列。

于 2010-03-23T19:38:33.493 回答
1

如果您只想获得String带有附加外部元素的数组的最小值,那么您不必先排序和提取(这将是O(N log N))。你可以在O(N).

String minPlayer = Collections.min(Arrays.asList(players));
minPlayer = Collections.min(Arrays.asList(minPlayer, extraPlayer));  
于 2010-03-23T21:22:41.373 回答