gpt4 book ai didi

java - 在Java中以对的形式存储链表的数据

转载 作者:行者123 更新时间:2023-11-30 03:34:09 24 4
gpt4 key购买 nike

我正在尝试创建一个链接列表,它将获取大量数据(整数或字符串),并获取它们出现的频率。我知道如何创建一个基本的链表来实现这一点,但由于数据量太大,我想找到一种更快的方法来对数据进行排序,而不是每次调用某个函数时都遍历整个链表方法。为了做到这一点,我需要制作一个 Pair<Object, Integer>其中Object是数据和 integer是它发生的频率。

到目前为止,我已经尝试创建数组列表来帮助我整理数据,但不知道如何将其放入 Pair代表数据和频率。如果您有任何可以帮助我至少开始的想法,我将不胜感激。

最佳答案

首先,您必须定义自己的数据类型,比方说

public FrequencyCount<T> implements Comparable<FrequencyCount<T>>
{
public final T data;
public int frequency;

public int compareTo(FrequencyCount<T> other) {
// implement this method to choose your correct natural ordering
}
}

有了类似的对象,一切都变得微不足道:

List<FrequencyCount<Some>> data = new ArrayList<FrequencyCount<Some>>();
Collections.sort(data);

Set<FrequencyCount<Some>> sortedData = new TreeSet<FrequencyCount<Some>>(data);

关于java - 在Java中以对的形式存储链表的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28375985/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com