Home > Database > Mysql Tutorial > body text

要点Java20java.util.Collections

WBOY
Release: 2016-06-07 15:56:41
Original
1343 people have browsed it

java.util.Collections 集合帮助类 示例程序(JUnit演示) 排序 @Test public void testSort() { ListInteger demoList = new ArrayListInteger(Arrays.asList(3, 2, 1)); assertEquals(3, demoList.get(0).intValue()); //public static T extends Comparable

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) // 反序          
    }
Copy after login

查找

    @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)
    }
Copy after login

置换

    @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)  //指定替换
    }
Copy after login

拷贝

    @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());
    }
Copy after login

比较

    @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));
    }
Copy after login

创造不同的集合

    @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
    }
Copy after login

环境 jdk1.6 window7 junit4

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!