我有一个点类型的链接列表,我想计算一个特定点的频率
Code
LinkedList<Point> refernce = new LinkedList<>();
Point neworigin = new Point();
public void distancecalculator(char [][]problem ,LinkedList<Point> refernce) {
//Somewhere in my code
for(int i = 0; i < 4; i++)
{
int a = reference.x + x[i]; // x={ 0 , 0 ,1 , -1}
int b = reference.y + y[i]; // y ={ 1, -1 , 0 ,0}
neworigin.x = a;
neworigin.y = b;
reference.add(neworigin)
if(Collections.frequency(refernce, neworigin) < 6)
{
//End the that thread
}
else
{
solver s = new solver(newproblerm , refernce );
som = new Thread(s);
som.start();
}
}}
错误:
at java.lang.Thread.run(Unknown Source)
Exception in thread "Thread-742" java.lang.NullPointerException
at java.util.LinkedList$ListItr.next(Unknown Source)
at java.util.Collections.frequency(Unknown Source)
已更新。请帮助我。
您正在LinkedList
多个线程中使用您的线程。该的Javadoc的LinkedList
明确(粗体),指出:
请注意,此实现未同步。 如果多个线程同时访问链表,并且至少一个线程在结构上修改了链表,则必须在外部进行同步。
您的线程名称“吓死了我”:
线程“ Thread- 742 ”中的异常java.lang.NullPointerException
看来您有 很多 (数百个)线程。您LinkedList
同时访问,内部状态被破坏的可能性很高。
然后Collections.frequency()
尝试使用其迭代器遍历列表,该迭代器null
可能由于LinkedList
损坏而在其实现中命中了一个值。
LinkedList
如果没有正确的同步,请勿使用来自多个线程的。
这是我的一个货车租赁数据库的起始代码。 如何将汽车链接到该位置。例如,CBD的位置有Wicked,Zepplin和Floyd,Penrith有Queen。因此,如果命令行参数具有“打印CBD”,那么它必须显示CBD中可用的货车。 任何帮助将不胜感激。
问题内容: 我需要找到列表中元素的频率 输出 我也想从中删除重复项 问题答案: 由于列表是有序的,你可以执行以下操作: 输出:
我目前正在实现一个链表,在一个删除元素的函数上遇到了一些问题。下面是整个功能。如果列表为空,则退出程序。如果列表只有一个元素,那么我只使用另一个函数
问题内容: 这个问题已经在这里有了答案 : 有效地计算python中的单词频率 (8个答案) 4年前关闭。 我想知道是否有一种方法可以计算2D python列表中的元素频率。对于一维列表,我们可以使用 但是,如果我有一个清单: 我可以在此2D列表中找到每个单词的频率吗? 问题答案: 假设我了解你想要什么, 要么,
我试图以正确的顺序返回一个迭代器来处理单链表中的元素,但我无法使其正确工作。有没有一个简单的方法来完成这件事,因为我想我想得太多了。顺便说一下,这是在Java,我已经导入了迭代器包。
本文向大家介绍C ++链表中节点的较小元素的总和,包括了C ++链表中节点的较小元素的总和的使用技巧和注意事项,需要的朋友参考一下 在这个问题中,我们得到了一个链表,链表的节点由两个值和一个指针组成。我们的任务是创建一个程序,以查找链表中节点的较小元素的总和。 在此,在链接列表中,我们有两个元素,分别是X和Y。程序将找到x和y的最小值。添加了来自所有节点的最小元素,这是必需的结果。 输入- 输出-