java集合框架03
Posted 小葱拌豆腐
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java集合框架03相关的知识,希望对你有一定的参考价值。
Collections工具类的使用
public class News implements Comparable { private int id; //新闻编号 private String title; //新闻标题 @Override public String toString() { return "新闻 [编号=" + id + ", 标题=" + title + "]"; } public News() { //无参构造 super(); } public News(int id, String title) { //带参构造 super(); this.id = id; this.title = title; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } //重写 排序的规则 升序 @Override public int compareTo(Object o) { News news=(News) o; if (news.getId()==this.id) { return 0; }else if (news.getId()<this.id) { return 1; // 降序 return -1; }else { return -1; // 降序 return 1; } } }
创建测试类
public class CollectionsTest { public static void main(String[] args) { /* * 操作集合的工具类Collections * */ //创建一个集合 List<String> list=new ArrayList<String>(); list.add("b"); list.add("d"); list.add("c"); list.add("a"); System.out.println("没有排序====》"+list); //插入时候的顺序 //对集合进行随机排序 Collections.shuffle(list); //开奖号码 136 顺序必须对 631不对 System.out.println("随机排序====》"+list); //按照字母的升序排列 Collections.sort(list); System.out.println("升序====》"+list); //降序 也是必须在升序之后 Collections.reverse(list); System.out.println("降序====》"+list); //查询 "b"在集合中的位置 必须先升序 排列之后再查询 Collections.sort(list); System.out.println(Collections.binarySearch(list, "a")); System.out.println("****************************"); List<News> news=new ArrayList<News>(); //想实现对象的排序 news.add(new News(3, "新闻3")); news.add(new News(1, "新闻1")); news.add(new News(4, "新闻4")); news.add(new News(2, "新闻2")); for (News news2 : news) { System.out.println(news2); } /* * 如果News没有重写Comparable接口中的compareTo()是编译报错的! * 我们必须重写compareTo() 定义规则 */ Collections.sort(news); System.out.println("对象排序之后........."); for (News news2 : news) { System.out.println(news2); } } @Test public void test1(){ //通过String类中的split()把字符串转换成字符串数组 String[] str1="a b c d d d".split(" "); //把数组转换成集合 List<String> asList = Arrays.asList(str1); System.out.println(asList); String[] str2="c d".split(" "); List<String> asList2= Arrays.asList(str2); //最后一次出现的位置 System.out.println(Collections.lastIndexOfSubList(asList, asList2)); //首次出现的位置 System.out.println(Collections.indexOfSubList(asList, asList2)); } @Test public void test2(){ String[] str1="a b c d e f".split(" "); //把数组转换成集合 List<String> list = Arrays.asList(str1); System.out.println(list); //集合中的元素向后移distance个位置,之后被覆盖的元素循环前移 Collections.rotate(list, 2); System.out.println(list); } }
以上是关于java集合框架03的主要内容,如果未能解决你的问题,请参考以下文章