(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,救人位是相同的元素或数据,则不添加。如果没有传入,则使用默认比较方式
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)