要点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 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Golang 非同期プログラミングを学ぶための重要なポイント Golang 非同期プログラミングを学ぶための重要なポイント Mar 18, 2024 am 08:36 AM

Golang 非同期プログラミングを学習するための重要なポイント 現代のソフトウェア開発では、プログラムのパフォーマンスと応答性を向上させることができるため、非同期プログラミングの重要性がますます高まっています。 Golang は効率的なプログラミング言語として、非同期プログラミングをサポートする豊富なツールと機能も提供します。この記事では、Golang 非同期プログラミングを学習する際のポイントと具体的なコード例を紹介します。 1.Goroutine Golang では、Goroutine は非同期プログラミングを実現するための重要な要素です。ゴルーティ

端午節のppt作成のポイントは何ですか? 端午節のppt作成のポイントは何ですか? Mar 20, 2024 am 11:58 AM

生活でも仕事でも、私たちはさまざまなお祭りを一緒に祝うことがよくあります。この時期、主催者は通常、休日をテーマにしたpptを作成しますが、端午節pptを作成したい場合、どのように完成させればよいでしょうか?端午節ppt作成の基本概要とポイントを解説します! 1. 一般的な祭りの PPT では、まず、言及の源、関連する詩、慣習的な活動、現代文化の進化などを含めて祭りを紹介する必要があります。通常、これらの一般的な部分を完成させるために、それをいくつかの PPT に分割します。全体的なコンテンツの構造を決定したら、屈原、龍船、団子などの要素を含む端午節のテーマなど、適切な背景を選択します。 3. 端午節は記念祭りですので、メロディアスな BGM を挿入します。

PHP開発のポイントとテクニックをマスターする PHP開発のポイントとテクニックをマスターする Sep 11, 2023 am 09:28 AM

PHP開発のポイントと技術をマスターしよう インターネットの急速な発展に伴い、Web開発分野の重要性はますます高まっています。 Web 開発の主流言語の 1 つである PHP は、その柔軟性と強力な機能に優れています。初心者でも経験豊富な開発者でも、開発効率と品質を向上させるために、PHP 開発の重要なポイントとテクニックをマスターする必要があります。この記事では、PHP 開発をより良く習得するのに役立ついくつかの重要なポイントとテクニックを紹介します。 1. PHP の基本知識を理解する PHP を開発に使用する前に、まず次のことを行う必要があります。

Java ソフトウェア プログラミングのキー ポイントと学習パスをマスターする Java ソフトウェア プログラミングのキー ポイントと学習パスをマスターする Feb 21, 2024 pm 04:39 PM

Java ソフトウェア プログラミングのキー ポイントと学習パスをマスターします。Java は、ソフトウェア開発で広く使用されている高レベル プログラミング言語です。そのシンプルで安定したオブジェクト指向の機能により、開発者にとって最初の選択肢となります。優れた Java 開発者になるには、基本的なプログラミング構文の知識を習得することに加えて、いくつかの重要なポイントと合理的な学習パスを理解する必要もあります。 1. 基本的な知識を習得する Java プログラミングを学習し始める前に、まずプログラミングの基本的な知識と概念を習得する必要があります。これには、変数、データ型、コントロールが含まれます

Java関数開発の要点を素早くマスターする方法 Java関数開発の要点を素早くマスターする方法 Aug 05, 2023 pm 12:09 PM

Java 関数開発のキーポイントを素早くマスターする方法 Java 開発者として、Java 関数開発のキーポイントをマスターすることは非常に重要です。 Java は広範囲に適用され、継続的に開発されているため、Java 関数開発の核となるポイントをマスターすることは、プロジェクト開発を迅速かつ効率的に完了するのに役立ちます。この記事では、いくつかの重要なポイントを紹介し、理解を深めるのに役立つコード例を示します。 Java の基礎を学ぶ Java 関数の開発を始める前に、まず Java の基礎を習得する必要があります。これには Java の習得も含まれます

スティッキーなポジショニングを明らかにする重要な要素は何ですか?スティッキーなポジショニングを実現するための重要なポイントを明らかにする スティッキーなポジショニングを明らかにする重要な要素は何ですか?スティッキーなポジショニングを実現するための重要なポイントを明らかにする Jan 28, 2024 am 10:17 AM

スティッキーポジショニングを研究する際の重要な要素は何ですか?スティッキー ポジショニングを検討するための重要なポイント スティッキー ポジショニングとは、企業が消費者と前向きで永続的な関係を構築および維持し、消費者の心に選ばれるブランドにするマーケティングの方法を指します。消費者の選択肢が数多くある今日の競争の激しい市場環境では、企業が長期的な競争上の優位性を獲得するための重要な要素の 1 つとなっているのが、粘り強いポジショニングです。では、スティッキーポジショニングを研究する上で重要な要素は何でしょうか?次に、スティッキーな配置を検討してみましょう

PHPライブブロードキャスト機能開発の概要とポイント PHPライブブロードキャスト機能開発の概要とポイント May 22, 2023 pm 12:51 PM

ネットワーク テクノロジとモバイル デバイスの普及に伴い、ライブ ブロードキャストは人気のあるインターネット アプリケーションになりました。 PHP 開発者として、ライブ ブロードキャスト機能の開発を理解し、習得することは不可欠なスキルの 1 つです。この記事では、PHPライブブロードキャスト機能開発の概要とポイントを紹介します。 1. ライブブロードキャスト機能開発の基礎知識 ライブブロードキャスト機能の開発を始める前に、いくつかの基礎知識を理解する必要があります。まず、ライブ ブロードキャストには、それを実行するためのオーディオおよびビデオ ストリーミング サーバーが必要です。一般的に使用されるサーバーには、Wowza、Nginx-rtmp、SRS などが含まれます。第二に

Golang アーキテクチャの重要なポイントの分析、それが何であるか知っていますか? Golang アーキテクチャの重要なポイントの分析、それが何であるか知っていますか? Mar 02, 2024 pm 06:09 PM

Golang アーキテクチャの重要なポイントの分析、それが何であるか知っていますか?インターネットが急速に発達した現在、さまざまなプログラミング言語が登場していますが、その中でも注目を集めている言語の一つがGo言語(Golang)です。そのシンプルさ、効率性、強力な同時実行パフォーマンス、優れたツール チェーンにより、ますます多くの開発者に支持されています。 Go 言語を使用してプロジェクトを開発するプロセスでは、合理的なアーキテクチャ設計が重要な部分です。この記事では、Golang アーキテクチャのいくつかの重要なポイントを分析します。

See all articles