首頁 資料庫 mysql教程 要点Java20java.util.Collections

要点Java20java.util.Collections

Jun 07, 2016 pm 03:56 PM
重點

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演示)

排序

<code class="java">    @Test
    public void testSort() {
        List<Integer> demoList = new ArrayList<Integer>(Arrays.asList(3, 2, 1));
        assertEquals(3, demoList.get(0).intValue());

        //public static <T extends Comparable<? super T>> void sort(List<T> list)
        Collections.sort(demoList);

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

        //public static void shuffle(List<?> list) // 随机排序
        //public static void reverse(List<?> list) // 反序          
    }
登入後複製

查找

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

        //二分查找位置
        //public static <T> int binarySearch(List<? extends Comparable<? super T>> 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)
    }
登入後複製

置换

<code class="java     ">    @Test
    public void testSwap() {
        List<Integer> demoList = new ArrayList<Integer>(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 <T> boolean replaceAll(List<T> list, T oldVal, T newVal)  //指定替换
    }
登入後複製

拷贝

<code class="java     ">    @Test
    public void testCopy() {
        List<Integer> demoList = new ArrayList<Integer>(Arrays.asList(3, 2, 1));

        //public static <T> void copy(List<? super T> dest, List<? extends T> src)
        //注意目的List的size最少要等于src的size
        List<Integer> copyList = new ArrayList<Integer>(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());
    }
登入後複製

比较

<code class="java     ">    @Test
    public void testCompary() {
        List<Integer> demoList = new ArrayList<Integer>(Arrays.asList(3, 2, 1));
        assertEquals(1, Collections.min(demoList).intValue());
        assertEquals(3, Collections.max(demoList).intValue());

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

创造不同的集合

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

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

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

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

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

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

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

        //map set sortedMap sortedSet
    }
登入後複製

环境 jdk1.6 window7 junit4

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1670
14
CakePHP 教程
1428
52
Laravel 教程
1329
25
PHP教程
1276
29
C# 教程
1256
24
學習Golang非同步程式設計的關鍵要點 學習Golang非同步程式設計的關鍵要點 Mar 18, 2024 am 08:36 AM

學習Golang非同步程式設計的關鍵要點在現代軟體開發中,非同步程式設計已經變得越來越重要,因為它可以提高程式的效能和回應速度。 Golang作為一種高效的程式語言,也提供了豐富的工具和特性來支援非同步程式設計。本文將介紹學習Golang非同步程式設計的關鍵要點,並提供具體的程式碼範例。 1.Goroutine在Golang中,Goroutine是實現非同步程式設計的關鍵要素。 Gorouti

端午節ppt製作有什麼要點 端午節ppt製作有什麼要點 Mar 20, 2024 am 11:58 AM

我們無論在生活或工作中,大家經常一起歡度各個節日。這時候一般我們主辦單位會準備一個節慶主題的ppt,那端午節ppt如果要製作的話該怎麼完成呢?下邊我們一起研討一下製作端午節ppt的基本輪廓和重點! 1.一般的節日ppt,都要先介紹節日,包括典故來源、相關的詩詞、習俗活動以及當代文化的演變等,我們一般要分幾張ppt來完成這幾個大致的部分。在確定了大致內容結構後,我們可以選取一個適合的背景​​,例如端午節的主題,包括屈原、龍舟和粽子等元素。 3.之後我們可以插入一些悠揚的背景音樂,端午節是紀念性節日,背景

掌握 PHP 開發的關鍵要點和技術 掌握 PHP 開發的關鍵要點和技術 Sep 11, 2023 am 09:28 AM

掌握PHP開發的關鍵要點和技術隨著網路的快速發展,Web開發領域也日益重要。作為Web開發的主流語言之一,PHP在其靈活性和強大的功能方面表現出色。無論是初學者還是有經驗的開發人員,都應該掌握PHP開發中的關鍵要點和技術,以提高開發效率和品質。本文將介紹一些關鍵要點與技術,助你更掌握PHP開發。一、了解PHP基礎在使用PHP進行開發之前,首先要

掌握Java軟體程式設計的關鍵要點與學習路徑 掌握Java軟體程式設計的關鍵要點與學習路徑 Feb 21, 2024 pm 04:39 PM

掌握Java軟體程式設計的關鍵要點和學習路徑Java是一種廣泛應用於軟體開發的高階程式語言,它簡單、穩定且物件導向的特性使其成為開發者的首選。而要成為優秀的Java開發人員,除了需要掌握基礎的程式設計語法知識外,還需要了解一些關鍵要點和合理的學習路徑。一、掌握基礎知識在開始學習Java程式設計之前,首先需要掌握一些基礎的程式設計知識與概念。這包括變數、資料類型、控制

如何快速掌握Java功能開發的要點 如何快速掌握Java功能開發的要點 Aug 05, 2023 pm 12:09 PM

如何快速掌握Java功能開發的要點作為一名Java開發者,掌握Java功能開發的要點是非常重要的。隨著Java的廣泛應用和不斷發展,掌握Java功能開發的核心要點將幫助你快速、有效率地完成專案開發。本文將為你介紹一些關鍵的要點,並透過程式碼範例來幫助你更好地理解。學習Java基礎知識在開始進行Java功能開發之前,首先需要先掌握Java的基礎知識。這包括掌握Jav

揭示黏性定位的關鍵要素是什麼?揭示達到黏性定位的關鍵要點 揭示黏性定位的關鍵要素是什麼?揭示達到黏性定位的關鍵要點 Jan 28, 2024 am 10:17 AM

研究黏性定位的關鍵因素是什麼?探索黏性定位的要點黏性定位(stickinesspositioning)是指在行銷中,企業透過創造和維護與消費者之間的積極、持久的關係,使其成為消費者心中的首選品牌。在現今競爭激烈且消費者選擇眾多的市場環境下,黏性定位成為企業取得長期競爭優勢的關鍵要素之一。那麼,研究黏性定位的關鍵因素是什麼?現在讓我們來探索一下黏性定位的

PHP直播功能開發的概述與重點 PHP直播功能開發的概述與重點 May 22, 2023 pm 12:51 PM

隨著網路技術和行動裝置的普及,直播已經成為了一種流行的網路應用方式。身為PHP開發者,了解並掌握直播功能的開發是不可或缺的技能之一。本文將為大家介紹PHP直播功能開發的概述與重點。一、直播功能開發的基礎知識在開始直播功能的開發之前,我們需要先了解一些基礎知識。首先,直播需要一個音視訊串流伺服器來承載,常用的有Wowza、Nginx-rtmp、SRS等。其次

Golang 架構中的要點解析,你知道都有哪些嗎? Golang 架構中的要點解析,你知道都有哪些嗎? Mar 02, 2024 pm 06:09 PM

Golang架構中的要點解析,你知道都有哪些嗎?在現今網路快速發展的時代,各種程式語言不斷湧現,其中一門備受關注的語言就是Go語言(Golang)。它因為其簡潔高效、強大並發性能以及優秀的工具鏈等特點,受到了越來越多開發者的青睞。而在使用Go語言開發專案的過程中,合理的架構設計是至關重要的一環。在本文中,將分析Golang架構的幾個關鍵要點,

See all articles