【发布时间】:2018-11-05 10:43:07
【问题描述】:
我有 2 个数组列表,其中包含一个自定义对象 Stock。
public class Stock{
private String companyName;
private double stockPrice;
// getters and setters
}
List1 包含 Stock 对象。 List2 还包含库存对象。
列表 1 和列表 2 的大小相同。列表 1 中有一些库存对象与列表 2 中的相同。我需要从列表 2 中获取列表 1 中存在的相同对象。换句话说,获取列表 1 和列表 2 中的交集2.我试图找出Java 8中是否有任何直接的方法可以有效地给出这个结果。或者如果没有,如何在时间复杂度和空间复杂度方面构造一个有效的算法?非常感谢您的帮助。
【问题讨论】:
-
到目前为止您尝试过什么,有什么问题?
-
你可能想看看哈希表。
-
当您说相同的 Stock 对象时,您的意思是
==会起作用吗?或者你对你的对象有一个相等的方法?或者你如何定义两只股票相等? -
我将在 Stock 类中重写一个 equals 和 hashcode 方法,如果股票公司名称、股票价格和时间戳相等,它将区分两个对象。
-
@Lalit 看看这个:stackoverflow.com/questions/31683375/…
标签: algorithm java-8 time-complexity space-complexity