我有两个数组列表。Arraylist one存储包含不同属性的对象,其中一个属性是整数Arraylist。
数组列表2是一个整数数组列表。我想将Arraylist 2与存储在arraylist 1中的整数arraylist进行比较。为了让你更容易理解:
ArrayList1:
Arraylist 2/整数Arraylist
我已经尝试了几个小时,但没有成功。这是我的想法:
我有两个数组列表:
ArrayList<LottoTicket> ticketList = new ArrayList<>(); //ArrayList 1
ArrayList<Integer> drawNums = new ArrayList(); //ArrayList 2
现在ArrayList 1存储对象LotteryTicket,它有一个名为“set”的整数ArrayList,用于存储彩票的5个号码。
这里是我的想法,比较'set'数组列表到图纸数组列表:
for(LottoTicket l : ticketList)
{
if(l.getSet().contains(drawNums.get(1)))
{
System.out.println("1 number matches");
}
else
{
System.out.println("No matches");
}
}
但这似乎不是一个好主意!任何帮助都将不胜感激
谢啦
与其在绘制的数字列表中检查特定位置,不如只检查列表是否包含玩家拾取的数字,毕竟,数字的顺序应该无关紧要。然后,只需计算包含的数字。
此外,您还可以将
列表
s转换为设置
s,以加快查找速度(尽管这对于只有五个数字来说并不重要)。
Set<Integer> numsAsSet = new HashSet<>(drawNums);
for (LottoTicket ticket : ticketList) {
long matches = ticket.getSet().stream()
.filter(x -> numsAsSet.contains(x))
.count();
System.out.println("Number of matches: " + matches);
}
我认为您正在寻找两个Collection
(s)的公共项。您可以List.retainAll(Collection)
从该列表中删除指定集合中未包含的所有元素,例如,
List<Integer> al = new ArrayList<>(l.getSet());
al.retainAll(drawNums);
System.out.printf("%d number(s) match.%n", al.size());
我有两个对象类Person和Employee。两个类都有共同的属性年龄。我已经在Arraylist中添加了这两个类的几个对象,现在我需要两个,写一个比较器,并将其传递给集合类的sort方法。并希望列表按年龄排序。我尝试这样做只是为了更清楚地使用Java中的carparable和Comparator。 编辑:我问这个问题的原因是我不清楚比较者和可比性。我在某个地方读到,如果类实现了可比较的,那么它就
问题内容: 我需要编写一个比较器,它采用类型A的对象A和类型B的对象B。这两个对象不是公共对象的扩展。它们的确不同,但是我需要通过其中的通用字段来比较这两个对象。我必须使用比较器接口,因为对象存储在Set中,并且在必须对CollectionUtils执行操作之后。我在Google上搜索了一下,发现了Comparator的解决方案,但只有相同的类型。 我试图朝这个方向实施思考,但是我不知道我是否在正
我需要写一个比较器,取一个a类型的对象a和一个B类型的对象B。这两个对象不是一个公共对象的扩展。他们确实是不同的,但我需要比较这两个对象在它的共同领域。我必须使用比较器接口,因为对象存储在Set中,之后我必须使用CollectionUtils进行操作。我搜索了一点点,我用比较器找到了解决方案,但只有相同的类型。 TXS 附注:我在不同的集合中添加两个对象: 之后我会这样想:
我正在做一个学校作业,我必须检查ArrayList teKoop中的某些对象是否不在ArrayList mijnGames中,问题是我一直设置这个错误代码:索引1 out of length 1 out of bounds for length 1 这里有什么明显的问题吗? 如有任何帮助,我们将不胜感激。 因此indexOutOfBound错误已修复,新问题出现:s 它一直返回给我一个空的Arra
我在Java中有两个几乎相同的方法。唯一的区别是它们有不同的参数类型。它们使用泛型并返回输入参数的类型T。我怎样才能摆脱重复的代码?下面是我的两个方法。最后,它们都使用不同的类型调用Spring。否则,方法是相同的。
问题内容: 我得到的错误就在这行 。 该怎么办?其他逻辑还可以吗? 我想做的是有一个A列表和一个B列表,其中一个属性与id相同;尽管变量名不同。即在和在B。现在我将两个列表都放在ListAll中,并在相同的变量id / bid上对它们进行排序。我有A和B实现可比性。 和我的listAll是对象类型? 我该怎么做?谢谢。 问题答案: 您可以添加一个通用基类并在那里进行比较,如下所示:
问题内容: 我想知道如何比较两个不同的数据库 表记录 。我的意思是,我将比较两个数据库表,它们可能具有不同的列名但具有相同的数据。但是其中一个表可能比另一个表具有更多的记录,因此我想看看这两个表之间的区别是什么。为此,如何编写sql查询?仅供参考:这两个数据库都在同一个SQL Server实例下。 然后,在比较表1和表2之后,它应该 从 表2返回 Ruby Core。 问题答案: 如果执行从T1到
假设我有两个列表,现在listOld包含旧员工信息,listNew包含新员工信息 我如何比较这两个列表并返回新列表,其中包含,添加的新员工列表,包含,删除的员工列表,包含上次更新已更改的员工的新列表? 我只能想到迭代列表和比较,可能最终几乎是O(n2)时间,这可以由任何util类更有效地完成吗?