设为首页 加入收藏

TOP

要点Java20java.util.Collections
2015-07-24 11:14:54 来源: 作者: 【 】 浏览:3
Tags:要点 Java20java.util.Collections

java.util.Collections 集合帮助类

示例程序(JUnit演示)

排序

    @Test
    public void testSort() {
        List demoList = new ArrayList(Arrays.asList(3, 2, 1));
        assertEquals(3, demoList.get(0).intValue());

        //public static > void sort(List list)
        Collections.sort(demoList);

        assertEquals(1, demoList.get(0).intValue());

        //public static void shuffle(List list) // 随机排序
        //public static void reverse(List list) // 反序          
    }

查找

    @Test
    public void testBinarySearch() {
        List demoList = new ArrayList(Arrays.asList(3, 2, 1));
        //必须先排序
        Collections.sort(demoList);
        assertEquals(1, demoList.get(0).intValue());

        //二分查找位置
        //public static  int binarySearch(List> list, T key)
        assertEquals(0, Collections.binarySearch(demoList, 1));

        //public static int indexOfSubList(List source, List target)
        // public static int lastIndexOfSubList(List source, List target)
    }

置换

    @Test
    public void testSwap() {
        List demoList = new ArrayList(Arrays.asList(3, 2, 1));

        //public static void swap(List list, int i, int j)
        Collections.swap(demoList, 0, 2);
        assertEquals(1, demoList.get(0).intValue());
        //public static void rotate(List list, int distance)  //指定距离轮换
        //public static  boolean replaceAll(List list, T oldVal, T newVal)  //指定替换
    }

拷贝

    @Test
    public void testCopy() {
        List demoList = new ArrayList(Arrays.asList(3, 2, 1));

        //public static  void copy(List dest, List src)
        //注意目的List的size最少要等于src的size
        List copyList = new ArrayList(Arrays.asList(1, 2, 3));
        Collections.copy(copyList, demoList);
        assertEquals(3, copyList.size());
        assertEquals(3, copyList.get(0).intValue());

        copyList.add(4);
        assertEquals(3, demoList.size());
    }

比较

    @Test
    public void testCompary() {
        List demoList = new ArrayList(Arrays.asList(3, 2, 1));
        assertEquals(1, Collections.min(demoList).intValue());
        assertEquals(3, Collections.max(demoList).intValue());

        List compareList = new ArrayList(Arrays.asList(5, 6, 7));
        //Returns true if the two specified collections have no elements in common
        assertTrue(Collections.disjoint(demoList, compareList));
    }

创造不同的集合

    @SuppressWarnings("unused")
    @Test
    public void testCreate() {
        List demoList = new ArrayList(Arrays.asList(3, 2, 1));

        //空对象 size=0  无添加方法
        List emptyList = Collections.emptyList();

        //返回一个只包含指定对象的不可变列表。
        List singletonList = Collections.singletonList(1);

        //返回指定列表的一个动态类型安全视图。
        List checkedList = Collections.checkedList(demoList, Integer.class);

        //返回指定列表的不可修改视图。
        List unmodifiableList = Collections.unmodifiableList(demoList);

        //返回指定列表支持的同步(线程安全的)列表。
        List synchronizedList = Collections.synchronizedList(demoList);

        synchronized (synchronizedList) {
            Iterator i = synchronizedList.iterator(); // Must be in synchronized block
            while (i.hasNext())
                i.next();
        }

        //map set sortedMap sortedSet
    }

环境 jdk1.6 window7 junit4

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇spfile丢失的处理 下一篇机房收费系统系列六:要点分析

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Shell脚本:Linux Sh (2025-12-25 05:50:11)
·VMware虚拟机安装Lin (2025-12-25 05:50:08)
·Linux学习教程,Linu (2025-12-25 05:50:06)
·工业机器人TCP校准中 (2025-12-25 05:19:17)
·opc 通讯协议与 TCP (2025-12-25 05:19:15)