Java 如何选择三个最受欢迎的元素;在字符串数组中,并将它们放入新的字符串数组中?
代码如下:Java 如何选择三个最受欢迎的元素;在字符串数组中,并将它们放入新的字符串数组中?,java,arrays,Java,Arrays,代码如下: String[] array1 ={"ab", "cf", "cg", "ab", "nf", "ab", "nf", "cf", "cf", "ab"}; String[] array2 = new String[3]; for(int i=0; i<3; i++) { System.out.println(array2[i]); } String[]array1={“ab”、“cf”、“cg”、“ab”、“nf”、“ab”、“nf”、“cf”、“cf”、“ab”
String[] array1 ={"ab", "cf", "cg", "ab", "nf", "ab", "nf", "cf", "cf", "ab"};
String[] array2 = new String[3];
for(int i=0; i<3; i++) {
System.out.println(array2[i]);
}
String[]array1={“ab”、“cf”、“cg”、“ab”、“nf”、“ab”、“nf”、“cf”、“cf”、“ab”};
字符串[]数组2=新字符串[3];
对于(inti=0;i试试这个
String[] array1 ={"ab", "cf", "cg", "ab", "nf", "ab", "nf", "cf", "cf", "ab"};
String[] array2 = Stream.of(array1)
.collect(Collectors.groupingBy(Function.identity(), Collectors.counting()))
.entrySet().stream()
.sorted(Comparator.comparing(e -> -e.getValue()))
.limit(3)
.map(Entry::getKey)
.toArray(String[]::new);
System.out.println(Arrays.toString(array2));
结果:
[ab, cf, nf]
将流收集到地图上,在地图上可以看到流的显示频率
final Map<String, Long> occurrences = listOfStrings.stream().collect(Collectors.groupingBy(x -> x, Collectors.counting()));
System.out.println(occurrences);
final-Map-executions=listOfStrings.stream().collect(Collectors.groupingBy(x->x,Collectors.counting());
系统输出打印项次(发生次数);
到目前为止您尝试了什么?