为了账号安全,请及时绑定邮箱和手机立即绑定

对元组(int,字符串)进行排序并将字符串值保存在字符串数组中

对元组(int,字符串)进行排序并将字符串值保存在字符串数组中

陪伴而非守候 2023-04-26 15:03:24
我正在使用此代码对单词和整数对进行排序,按整数对对进行排序(降序)对元组进行排序后,如何仅将字符串值保存在 String [] 数组中?我在这里找到了代码,因为我是新来的,所以我无法在同一页面上发表评论。(@Elliott Frisch)如何按频率对单词进行排序 public Tuple(int count, String word) {    this.count = count;    this.word = word;}@Overridepublic int compareTo(Tuple o) {    return new Integer(this.count).compareTo(o.count);}public String toString() {    return word + " " + count;}}public static void main(String[] args) {String[] words = { "the", "he", "he", "he", "he", "he", "he", "he",        "he", "the", "the", "with", "with", "with", "with", "with",        "with", "with" };// find frequenciesArrays.sort(words);Map<String, Integer> map = new HashMap<String, Integer>();for (String s : words) {    if (map.containsKey(s)) {        map.put(s, map.get(s) + 1);    } else {        map.put(s, 1);    }}List<Tuple> al = new ArrayList<Tuple>();for (Map.Entry<String, Integer> entry : map.entrySet()) {    al.add(new Tuple(entry.getValue(), entry.getKey()));}Collections.sort(al);System.out.println(al);}
查看完整描述

2 回答

?
白衣非少年

TA贡献1155条经验 获得超0个赞

如果它必须是数组,你去:



        Collections.sort(al);

        String[] wordsResult = new String[al.size()];

        int i = 0;

        for (Tuple tuple : al) {

            wordsResult[i++] = tuple.word;

        }

        Stream.of(wordsResult).forEach(System.out::println);

        System.out.println(al);


查看完整回答
反对 回复 2023-04-26
?
温温酱

TA贡献1752条经验 获得超4个赞

您还可以使用 Stream-API 对这个 ArrayList 进行排序


 Object[] arr = al.stream()

.sorted(Comparator.comparing(Tuple::getCount).reversed())//sort counts as per count

.map(Tuple::getWord) //mapping to each count to word

.toArray(); //collect all words to array

 System.out.println(Arrays.toString(arr));

你也可以把这些话收藏起来List<String>


List<String> arr =al.stream() 

.sorted(Comparator.comparing(Tuple::getCount).reversed())//sort counts as per count

.map(Tuple::getWord) //mapping to each count to word

.collect(Collectors.toList())//Collect to List


查看完整回答
反对 回复 2023-04-26
  • 2 回答
  • 0 关注
  • 135 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信