【发布时间】:2016-03-28 02:14:03
【问题描述】:
好的,这是作业。我已经尝试了几件事,但无法让它发挥作用。指令是——编写一个插入30个随机字母的程序 成一个列表。执行以下操作并显示结果: a) 按升序对列表进行排序。 b) 按降序对列表进行排序。 c) 按升序显示列表,删除重复项。我已经完成了最简单的部分,但是当涉及到排序时,我不知道从哪里开始。 公共类 RandomCharacters {
//私有静态列表随机字符;
public static void main(String[] args) {
//Create List of Char type
List<Character> randomCharacters = new ArrayList<>();
//Character[] randChars = new Character[30];
//generate random letters and add to the list
for(int i = 0; i<30; i++){
int num = (int) (26* Math.random());
//randChars[i] = (char) (num + 'a');
char letter = (char) (num + 'a');
randomCharacters.add(letter);
//System.out.println(letter);
}
//System.out.println( "Unsorted list= " + Arrays.asList(randChars));
System.out.println( "Unsorted list= " + randomCharacters);
System.out.println("Ascending sort: ");
Arrays .stream(randomCharacters)
.sorted()
.collect(Collectors.toList());
}
我尝试了两种方法。一个使用字符数组并使用 tolist 和仅使用 ArrayList 进行转换,但排序不起作用。关于为什么这不起作用的任何提示。
【问题讨论】:
标签: java java-stream