java - Java 中的 2D LinkedList.contains()

标签 java linked-list 2d contains

嘿,大家好。我是 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/

相关文章:

java 程序在 linux 上报告错误的时区(显示欧洲/都柏林的 IST)

java - 出现错误 - org.openqa.selenium.StaleElementReferenceException : stale element reference: element is not attached to the page document

java - 使用 var args 调用方法时出现 NoSuchMethodError

java - 如何中断当前正在运行的线程?

c - 为什么我们在 C 中传递 Structure 参数时使用双指针?

java - 从链表中删除重复元素 - Java

c - 向链接列表中插入元素

数学和游戏编程

java - 尽管做得正确但仍出现空指针异常

java - 用于大量 Bin 的 2D 装箱求解器 (java | Gurobi)