比较队列中的连续元素

沙登弗洛伊德

我有一个按日期排序的元素队列。我需要提取具有相同日期的前n个元素,并将它们添加到临时ArrayList中,从中选择其中一个并废弃其他元素。之后,我需要继续对具有相同日期的队列中的下n个元素执行相同的操作(将它们提取到临时列表中,依此类推),直到队列中没有更多项目为止。

        // some notes to help you understand the code
        PriorityQueue<Results> r, size(4), elementsEqualByTime(1=2,3=4); 
        List<Comments> c, size(2);
        ArrayList temp;

        if (c.size() != r.size() && resultIter.hasNext()) {
        //first iteration will compare element 0 to itself -> 100% true
           ResultObject r2 = resultIter.next();
           ResultObject r1 = r2;

        while (resultIter.hasNext() && r1.getTime().equals(r2.getTime())) {
            temp.add(r1);
            //we add the matching elements before we continue
            r1 = r2;
            temp.add(r1);
              if (resultIter.hasNext()) {
            //after we add the 2 matching elements we continue
                   r2 = resultIter.next();
                }
            }
            //use the items in temp
                   temp.clear();
        } 

现在,它适用于第一个元素集,但是在第二个迭代中,它不向临时ArrayList添加任何元素。非常感谢您提供此解决方案的帮助,但也欢迎提出不同的建议。

沙登弗洛伊德
  while (commentIter.hasNext()) {

        Comment c1 = null;

        temp.add(arrayQueue[0]);
        for (int i = 1; i < arrayQueue.length; i++) {
            if (!arrayQueue[i].getTime().equals(arrayQueue[i - 1].getTime())) {

                c1 = commentIter.next();
                //do stuff with the results                 
                temp = new HashSet<ResultObject>();

            }
            temp.add(arrayQueue[i]);
        }

        if (!temp.isEmpty()) {

            c1 = commentIter.next();
            //do stuff with the results
        }
        temp = new HashSet<ResultObject>();
    }

那是一个行之有效的经过测试的解决方案。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用迭代器比较Vector中的连续元素

来自分类Dev

使用迭代器比较Vector中的连续元素

来自分类Dev

列表中的连续元素

来自分类Dev

列表中的连续元素

来自分类Dev

比较文件中的连续行

来自分类Dev

连续比较2 ArrayList的大小和元素

来自分类Dev

从阻塞队列中连续获取数据

来自分类Dev

比较数组中的连续元素不会返回任何内容(javascript)

来自分类Dev

比较数组中的连续元素不会返回任何内容(javascript)

来自分类Dev

从队列中删除head元素

来自分类Dev

连续插入元素中的空白

来自分类Dev

对列表中的连续元素对求和

来自分类Dev

比较行中的元素

来自分类Dev

比较ListBuffer中的元素

来自分类Dev

比较列表中的元素

来自分类Dev

如何比较[[]]中的元素?

来自分类Dev

std :: priority_queue比较和队列元素的年龄

来自分类Dev

比较连续行中的不同字段

来自分类Dev

比较文件的连续列并返回不匹配元素的数量

来自分类Dev

使用迭代器遍历列表并比较连续元素

来自分类Dev

比较文件的连续列并返回不匹配元素的数量

来自分类Dev

使用迭代器遍历列表并比较连续元素

来自分类Dev

队列元素在Gstreamer管道中的作用

来自分类Dev

如何从队列中获取特定元素?

来自分类Dev

如何匹配和删除队列中的元素?

来自分类Dev

从队列中删除元素时出错

来自分类Dev

从队列中删除元素时出错

来自分类Dev

如何从队列中获取特定元素?

来自分类Dev

跟踪FIFO队列中的最大元素