gpt4 book ai didi

java - 删除列表中的重复记录

转载 作者:行者123 更新时间:2023-11-29 06:02:32 24 4
gpt4 key购买 nike

您好,在开发我的一个 Web 应用程序时,我基于执行的 sql 查询将用户信息存储到 ArrayList 中,它包含重复对象如何删除列表中的重复对象,我已经尝试了一些方法,但它仍然无法正常工作。这是我的代码纠正我错误的地方

      public ArrayList loadData() throws ClassNotFoundException, SQLException {
ArrayList userList = new ArrayList();
String url = "";
String dbName = "";
String userName = "";
String password = "";
Connection con = null;
Class.forName("org.apache.derby.jdbc.ClientDriver");
con = DriverManager.getConnection(url + dbName, userName, password);
PreparedStatement ps = null;
try {
String name;
String fatherName;
int Id;
String filePath;
int age;
String address;
String query = "SELECT NAME,FATHERNAME,AGE,ADDRESS,ID,FILEPATH FROM USER_INFORMATION ,USER_PHOTO WHERE ID=USER_ID";
ps = con.prepareStatement(query);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
name = rs.getString(1);
fatherName = rs.getString(2);
age = rs.getInt(3);
address = rs.getString(4);
Id = rs.getInt(5);
filePath=rs.getString(6);
/* if(flag)
{
prev=Id;
flag=false;
}
else if(Id==prev)
{
TEMP=TEMP+";"+filePath;
}*/
//PhotoList = PhotoList(Id, con);
UserData list = new UserData();
list.setName(name);
list.setFatherName(fatherName);
list.setAge(age);
list.setAddress(address);
list.setId(Id);
// list.setFilePath(filePath);
userList.add(list);
}
ps.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
ArrayList al = new ArrayList();
HashSet hs = new HashSet();
hs.addAll(userList);
al.clear();
al.addAll(hs);
return al;
}

我的 Bean 类内容是

    public class UserData {

private String name;
private String fatherName;
private int Id;
//private String filePath;
private int age;
private String address;
public UserData()
{

}

public UserData(String name, String fatherName,int Id, int age,String address)
{
this.name = name;
this.fatherName = fatherName;
this.Id = Id;
//this.filePath=filePath;
this.age=age;
this.address=address;
}
//GETTER AND SETTER..

最佳答案

总体思路:使用Set , 不是 List .但是你必须覆盖类的散列和等于。

关于java - 删除列表中的重复记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9599740/

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