博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java集合框架03
阅读量:5912 次
发布时间:2019-06-19

本文共 4358 字,大约阅读时间需要 14 分钟。

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()

创建测试类

public class CollectionsTest {    public static void main(String[] args) {        /*         * 操作集合的工具类Collections         *          */        //创建一个集合        List
list=new ArrayList
(); 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=new ArrayList
(); //想实现对象的排序 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
asList = Arrays.asList(str1); System.out.println(asList); String[] str2="c d".split(" "); List
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
list = Arrays.asList(str1); System.out.println(list); //集合中的元素向后移distance个位置,之后被覆盖的元素循环前移 Collections.rotate(list, 2); System.out.println(list); }}

 3.map遍历的效率比较

 

@Testpublic  void  test(){       Map
map=new HashMap
(); for (int i = 0; i <1000000; i++) { map.put("key"+i, "value"+i); } //获取当前毫秒数 Long a= System.currentTimeMillis(); //遍历map 首先获取所有key的集合 Set
set = map.keySet(); for (String key : set) { map.get(key); //根据key取得value } //获取当前毫秒数 Long b= System.currentTimeMillis(); System.out.println("使用keySet遍历的时间是:"+(b-a)); //使用entry遍历 效率最高的 Set
> entrySet = map.entrySet(); for (Entry
entry : entrySet) { entry.getValue(); } //获取当前毫秒数 Long c= System.currentTimeMillis(); System.out.println("使用entrySet遍历的时间是:"+(c-b));}

 汉字的排序

public class ListTest {    public static void main(String[] args) {     //实现都汉字的排序   传入一个语言环境          Comparator collator=Collator.getInstance(Locale.CHINA);        ArrayList
list=new ArrayList
(); list.add("你好"); list.add("好"); list.add("啊"); list.add("它好"); //工具类 Collections.sort(list, collator); for (String string : list) { System.out.println(string); } }}

 

转载于:https://www.cnblogs.com/xtdxs/p/7093906.html

你可能感兴趣的文章
键盘录入一个值(1<=n<=9)之间,输出nn乘法表
查看>>
Mac环境下svn的使用
查看>>
C goto 用法详解
查看>>
《人工智能开源与标准化研究报告》:开源技术如何助推人工智能第三次浪潮...
查看>>
微债科技
查看>>
[资源]C++ 程序员必收藏
查看>>
广告传媒行业网络覆盖整体解决方案.
查看>>
如何规划网络数据备份系统的方案
查看>>
phpstorm 默认快捷键的使用
查看>>
我的友情链接
查看>>
iOS动画篇_CALayer这些牛逼的子类你造吗
查看>>
LINUX用户建立秘钥认证实现SHELL脚本管理,分发,部署
查看>>
beamer 模版修改
查看>>
我的友情链接
查看>>
(英)Somehing About New Staff Training
查看>>
JAVA中Stack和Heap的区别
查看>>
python实现select和epoll模型socket网络编程
查看>>
java socket-TCP连接
查看>>
Cisco路由器重置enable密码步骤
查看>>
关于TDD、BDD和DDD
查看>>