嘿,大家好。我是 Java 新手,我有这样的 2D LinkedList:
LinkedList<LinkedList<String>> albums = new LinkedList<LinkedList<String>>();
其中充满了如下数据:
if (!artist.isEmpty() && !name.isEmpty()) { albums.add(new LinkedList<String>()); albums.getLast().add(artist.toString()); albums.getLast().add(name.toString()); }
但我想确保我的列表中没有重复的专辑。如何检查我的专辑列表是否已包含相同的艺术家和姓名?
最佳答案
我的建议是创建一个名为“Album”的新类,如下所示:
public class Album
{
private String name;
private String artist;
public Album(String name, String artist)
{
this.name = name;
this.artist = artist;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public String getArtist()
{
return artist;
}
public void setArtist(String artist)
{
this.artist = artist;
}
public boolean equals(Object o)
{
if (o instanceof Album)
{
Album that = (Album)o;
return album.equals(that.album) && artist.equals(that.artist);
}
else
{
return false;
}
}
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((album == null) ? 0 : album.hashCode());
result = prime * result + ((artist == null) ? 0 : artist.hashCode());
return result;
}
}
然后您应该能够使用 contains() 来检查链接列表中是否已存在该相册。
关于java - Java 中的 2D LinkedList.contains(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1891598/