当前位置: 代码迷 >> J2SE >> 关于集合,对象的有关问题
  详细解决方案

关于集合,对象的有关问题

热度:99   发布时间:2016-04-24 12:54:36.0
关于集合,对象的问题
我有两个类,一个是News类,有两个属性Stirng title,String content.
  还有一个NewsList类,有一个属性 Set<News> newslist;
  问题是我往set里面加入一条新闻,这条新闻的标题必须是集合中没有的才能加进去,请问算法该怎么实现啊,修改,删除都比较容易,但是如何写增加?求助一下!!

------解决方案--------------------
重写 hashCode()和equals()方法

Java code
package com.xiaoqi;public class News {    String title;    String content;    public String getTitle() {        return title;    }    public void setTitle(String title) {        this.title = title;    }    public String getContent() {        return content;    }    public void setContent(String content) {        this.content = content;    }    @Override    public int hashCode() {        final int prime = 31;        int result = 1;        result = prime * result + ((content == null) ? 0 : content.hashCode());        result = prime * result + ((title == null) ? 0 : title.hashCode());        return result;    }    @Override    public boolean equals(Object obj) {        if (this == obj)            return true;        if (obj == null)            return false;        if (getClass() != obj.getClass())            return false;        News other = (News) obj;        if (content == null) {            if (other.content != null)                return false;        } else if (!content.equals(other.content))            return false;        if (title == null) {            if (other.title != null)                return false;        } else if (!title.equals(other.title))            return false;        return true;    }}
------解决方案--------------------
探讨
把NewsList的newslist换成HashSet。HashSet的一个基本的特性就是加入的时候只有不重复才加入,否则根本加入不了的。
  相关解决方案