gpt4 book ai didi

java - 存储和比较所有元素的有效方法

转载 作者:行者123 更新时间:2023-12-01 23:12:19 25 4
gpt4 key购买 nike

我有一个List<Solution> data = new ArrayList<Solution>();其中保存用户信息。 Solution包含用户电子邮件、地址、订单 ID 和信用卡信息以及交易 ID,我想找出重复的数据(相同的交易 ID 和相同的电子邮件地址)。所以,我必须比较所有数据,我这样做了

int totalNumberOfData = data.size();
int counter;
for (counter = 0; counter < totalNumberOfData; counter++) {
for (int j = 1; j < totalNumberOfData; j++) {
boolean faurdFound;
faurdFound = isFaurdDeal(counter, j);
if (faurdFound == true) {
break;
}
}
}

我想知道:

  1. 为了进行数据比较,这个解决方案是否有效或者有没有更好的方法来实现这个解决方案?
  2. 我正在使用List用于存储数据。如果我使用 HashMap而不是List 。会有效率吗? HashMap不遵守秩序。但是,我必须维持秩序。什么可以更好地解决这个问题?

最佳答案

您的解决方案具有二次计算复杂度。它基本上意味着它消耗的时间与列表大小的平方成正比。您可以阅读 Big-O 表示法以了解此特征的更形式化 View - http://en.wikipedia.org/wiki/Big_O_notation

使用LinkedHashMap并正确重写Solutionequals()hashCode()方法,您可以达到线性复杂性,因为检查存在性将在恒定时间内完成。

关于java - 存储和比较所有元素的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21707195/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com