确定这是作业。我尝试了一些东西,但只是无法让它工作。说明是 - 编写一个程序,将30个随机字母 插入列表中。执行以下操作并显示结果: a)按升序对列表进行排序。 b)按降序对列表进行排序。 c)删除重复项以升序显示列表。我做了最简单的部分,但是当涉及到排序时,我不知道从哪里开始。 public class RandomCharacters {使用java中的lambdas对字符列表进行排序
// private static List 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,但排序不起作用。任何暗示为什么这不起作用。
前添加更多评论完美的谢谢你。现在我明白我的问题了。我打电话收集,但它不是“保存”任何东西,所以我需要创建sortedList列表稍后调用收集。现在为部分B我将只使用.reversed和部分C我将使用地图!谢谢! – Cake771
哦,我打印出来之前,我排序它!那真是太棒了 – Cake771