本章习题(第十四章)

本章习题(第十四章),第1张

本章习题(第十四章)

(1)封装一个新闻类,包含标题和内容属性,提供get,set方法,重写toString方法

(2)只提供一个带参数的标题,实例化对象时,只初始化标题

(3)将新闻对象添加到ArrayList中,并且进行倒序排序

(4)在遍历过程中,对新闻标题进行处理,超过15字只保留前15位,然后在后边加...

(5)在控制台打印遍历出经过处理的新闻标题

public class B {
    @SuppressWarnings({"all"})
    public static void main(String[] args){
        ArrayList list = new ArrayList();
        list.add(new News("都能看见看见了你的擦成本卡就不错参考撒九年级"));
        list.add(new News("年底开始农村你那里青梅绿茶可考虑钱拿出来看清楚能力强"));
        int size = list.size();
        for (int i = size - 1;i >= 0;i--){
            News news = (News)list.get(i);
            showNews(news.getTitle());
        }
    }
    public static void showNews(String title){
        if(title == null){
            System.out.println("标题有误");
        }
        if(title.length() > 15){
            System.out.println(title.substring(0,15) + "...");
        }else{
            System.out.println(title);
        }
    }
}
class News{
    private String title;
    private String content;

    public News(String title) {
        this.title = title;

    }

    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 String toString() {
        return "News{" +
                "title='" + title + "n";
    }
}

(2)试分析HashSet和TreeSet分别如何实现去重的

①HashSet的去重机制:hashCode()+ equals(),底层先通过存入对象,进行运算得到一个hash值,通过hash值得到对应的索引,如果发现table索引所在的位置没有数据,就直接存放,如果有数据,就进行equals比较,如果比较后不相同就加入,相同就不加入

②TreeSet去重机制:如果你传入了一个Comparator匿名对象,就使用实现的campare去重,若果方法返回0,救人位是相同的元素或数据,则不添加。如果没有传入,则使用默认比较方式

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zaji/5706933.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存