gpt4 book ai didi

java - 如何删除第一个元素并使第二个元素立即成为 java.util.NavigableSet 中的第一个元素?

转载 作者:行者123 更新时间:2023-11-30 03:43:49 29 4
gpt4 key购买 nike

我有一组对象:

 NavigableSet<JobWithDepartTime> set = new TreeSet();

然后当我在另一个类(class)中这样做时:

GroupMesin.JobWithDepartTime a = groupMesin[i].set.pollFirst();
groupMesin[i].set.first().getJob().printData();

它说它有一个异常(在第二行):

Exception in thread "main" java.util.NoSuchElementException

我想做的就是取出这个集合中的第一个元素,使第二个元素成为第一个,第三个元素成为第二个,依此类推。我该怎么做?

任何回应都将不胜感激。

最佳答案

pollFirst() 实际上删除了该元素,所以您想要做的是:

GroupMesin.JobWithDepartTime a = groupMesin[i].set.pollFirst();
if (a != null) //if the set is empty, pollFirst() returns null
a.getJob().printData();

您的代码所做的是删除第一个元素,然后尝试访问新的第一个元素(不删除它)。当您的集合只有一个元素开始时,这将导致 NoSuchElementException,因为删除第一个元素后,您的集合将为空。

这些方法的命名有点令人困惑,first() 执行传统上称为“查看”或“轮询”的操作,而 pollFirst() 是修改的方法套装也是如此。

关于java - 如何删除第一个元素并使第二个元素立即成为 java.util.NavigableSet 中的第一个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26238076/

29 4 0