検索
ホームページJava&#&チュートリアルJava の List コレクションのメソッドとその実装クラスの紹介 (コード付き)

この記事では、Java での List コレクションのメソッドとその実装クラスを紹介します (コード付き)。一定の参考価値があります。困っている友人は参考にしてください。お役に立てれば幸いです。

List collection_List インターフェイスの概要

機能

1). 順序付け;

2). 重複要素を保存可能;

3). インデックスを通じてアクセスできます;

List<String> list = new ArrayList<>();
       list.add("张无忌");
       list.add("张三丰");
       list.add("章子怡");
       list.add("章子怡");//OK的,可以添加
         for(String s : list){
           System.out.println(s);//有序的
      }

Method

Collection インターフェイスのすべてのメソッドを継承し、独自のメソッドを多数備えています

void    add(String item) 
          向滚动列表的末尾添加指定的项。
 void    add(String item, int index) 
          向滚动列表中索引指示的位置添加指定的项。
 void    addActionListener(ActionListener l) 
          添加指定的动作侦听器以从此列表接收动作事件。
 void    addItemListener(ItemListener l) 
          添加指定的项侦听器以接收此列表的项事件。
 void    addNotify() 
          创建列表的同位体。
 void    deselect(int index) 
          取消选择指定索引处的项。
 AccessibleContext
getAccessibleContext() 
          获取与此 List 关联的 AccessibleContext。
 ActionListener[]
getActionListeners() 
          返回已在此列表上注册的所有动作侦听器的数组。
 String
getItem(int index) 
          获取与指定索引关联的项。
 int    getItemCount() 
          获取列表中的项数。
 ItemListener[]
getItemListeners() 
          返回已在此列表上注册的所有项侦听器的数组。
 String[]
getItems() 
          获取列表中的项。
<T extends EventListener> 
T[]
    getListeners(Class<T> listenerType) 
          返回目前已在此 List 上注册为 FooListener 的所有对象的数组。
 Dimension
getMinimumSize() 
          确定此滚动列表的最小大小。
 Dimension
getMinimumSize(int rows) 
          获取具有指定行数的列表的最少维数。
 Dimension
getPreferredSize() 
          获取此滚动列表的首选大小。
 Dimension
getPreferredSize(int rows) 
          获取具有指定行数的列表的首选维数。
 int    getRows() 
          获取此列表中的可视行数。
 int    getSelectedIndex() 
          获取列表中选中项的索引。
 int[]    getSelectedIndexes() 
          获取列表中选中的索引。
 String
getSelectedItem() 
          获取此滚动列表中选中的项。
 String[]
getSelectedItems() 
          获取此滚动列表中选中的项。
 Object[]
getSelectedObjects() 
          获取对象数组中此滚动列表的选中项。
 int    getVisibleIndex() 
          获取上次由 makeVisible 方法使其可视的项的索引。
 boolean    isIndexSelected(int index) 
          确定是否已选中此滚动列表中的指定项。
 boolean    isMultipleMode() 
          确定此列表是否允许进行多项选择。
 void    makeVisible(int index) 
          使指定索引处的项可视。
protected  String
paramString() 
          返回表示此滚动列表状态的参数字符串。
protected  void    processActionEvent(ActionEvent e) 
          处理发生在此列表上的动作事件,方法是将这些事件指派给所有已注册的 ActionListener 对象。
protected  void    processEvent(AWTEvent e) 
          此滚动列表的进程事件。
protected  void    processItemEvent(ItemEvent e) 
          处理发生在此列表上的项事件,方法是将这些事件指派给所有已注册的 ItemListener 对象。
 void    remove(int position) 
          从此滚动列表中移除指定位置处的项。
 void    remove(String item) 
          从列表中移除项的第一次出现。
 void    removeActionListener(ActionListener l) 
          移除指定的动作侦听器,以便不再从此列表接收动作事件。
 void    removeAll() 
          从此列表中移除所有项。
 void    removeItemListener(ItemListener l) 
          移除指定的项侦听器,以便不再从此列表接收项事件。
 void    removeNotify() 
          移除此列表的同位体。
 void    replaceItem(String newValue, int index) 
          使用新字符串替换滚动列表中指定索引处的项。
 void    select(int index) 
          选择滚动列表中指定索引处的项。
 void    setMultipleMode(boolean b) 
          设置确定此列表是否允许进行多项选择的标志。

api

一般的に使用されるメソッド (次のメソッドは List インターフェイスに固有です)

1) 追加: public void add(int index,E e): 現在のコレクションのインデックス位置に e を追加します。

2). 削除: public E Remove(int index): インデックス位置の要素を削除し、削除された要素を返します。

3). 変更: public E set(intindex,E element): 要素をインデックス位置の要素に置き換え、元のインデックス位置の要素を返します。

4). チェック: public E get(int index): インデックス位置の要素を取得します。

サンプル コード:

public static void main(String[] args) {
    //List集合中增加自己的add方法,add(int index,E e);
    List<String> list=new ArrayList<>();

    list.add("aaaa");
    list.add("bbbb");
    list.add("cccc");
    list.add(1,"dddd");

    System.out.println(list);
    //删除指定索引的元素,并将删除的元素返回
    String removeStr=list.remove(2);
    System.out.println(removeStr);
    System.out.println(list);

    //修改指定索引位置上的元素set(int index,E e),并将原index位置上的元素返回
    String setStr=list.set(2,"ffff");
    System.out.println(setStr);
    System.out.println(list);

    //通过索引获取指定索引上的元素
    String getStr=list.get(2);
    System.out.println("索引为3的元素为:"+getStr);
    System.out.println(list);
}

List インターフェイスを実装する一般的に使用されるクラス_ArrayList

1). List インターフェイスを実装する一般的に使用されるクラス

2).ArrayList

特徴:

高速クエリ---インデックスを使用

遅い追加と削除---必要展開するには、ビットを移動します。

イラスト:

方法:

独自の方法はありません

ケース

public static void main(String[] args) {
    //List集合中增加自己的add方法,add(int index,E e);
    ArrayList<String> list=new ArrayList<>();

    list.add("aaaa");
    list.add("hhhh");
    list.add("cccc");
    list.add(1,"dddd");
    System.out.println(list);
    //删除指定索引的元素,并将删除的元素返回
    String removeStr=list.remove(2);
    System.out.println(removeStr);
    System.out.println(list);
    //修改指定索引位置上的元素set(int index,E e),并将原index位置上的元素返回
    String setStr=list.set(2,"ffff");
    System.out.println(setStr);
    System.out.println(list);
    //通过索引获取指定索引上的元素
    String getStr=list.get(2);
    System.out.println("索引为3的元素为:"+getStr);
    System.out.println(list);
}

3).LinkedList

機能

リンク リストを使用して、

高速な追加と削除、低速のクエリを実現します


メソッド

スタックとキューをシミュレートするための新しいメソッドをいくつか追加しました:

1) .public void Push(Object o): スタックのプッシュは、指定された要素をこのコレクションの先頭に追加する addFirst(E e) と同等です
2).public E Pop(): スタックをポップします - 要素がない場合は、例外がスローされます;

public Epoll(): スタックをポップします - 要素がない場合は、null が返されます [推奨]

ケース:

public class Demo {
    public static void main(String[] args) {
        LinkedList<String> list = new LinkedList<>();
        list.push("孙悟空");
        list.push("猪八戒");
        list.push("沙和尚");
        System.out.println(list);

        while (list.size() > 0) {
            System.out.println("弹出一个:" + list.poll());
            System.out.println("集合大小:" + list.size());
        }
    }
}

以上がJava の List コレクションのメソッドとその実装クラスの紹介 (コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はsegmentfaultで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
Java開発のどの側面がプラットフォームに依存していますか?Java開発のどの側面がプラットフォームに依存していますか?Apr 26, 2025 am 12:19 AM

javadevelopmentisnotentirelylylypratform-IndopentDuetoseveralfactors.1)jvmvariationsaffectperformanceandbehavioracrossdifferentos.2)nativeLibrariesviajniintroducePlatform-specificissues.3)giaiasystemsdifferbeTioneplateplatifflics.4)

さまざまなプラットフォームでJavaコードを実行するときにパフォーマンスの違いはありますか?なぜ?さまざまなプラットフォームでJavaコードを実行するときにパフォーマンスの違いはありますか?なぜ?Apr 26, 2025 am 12:15 AM

Javaコードは、さまざまなプラットフォームで実行するときにパフォーマンスの違いがあります。 1)JVMの実装と最適化戦略は、OracleJDKやOpenJDKなどとは異なります。 2)メモリ管理やスレッドスケジューリングなどのオペレーティングシステムの特性もパフォーマンスに影響します。 3)適切なJVMを選択し、JVMパラメーターとコード最適化を調整することにより、パフォーマンスを改善できます。

Javaのプラットフォームの独立性の制限は何ですか?Javaのプラットフォームの独立性の制限は何ですか?Apr 26, 2025 am 12:10 AM

java'splatformindepentedencehaslimitationsincludingporformanceoverhead、versioncompatibulisisues、changleSwithnativeLibraryIntegration、プラットフォーム固有の機能、およびjvminStallation/maintenation。

プラットフォームの独立性とクロスプラットフォーム開発の違いを説明します。プラットフォームの独立性とクロスプラットフォーム開発の違いを説明します。Apr 26, 2025 am 12:08 AM

PlatformEndependEncealLowsProgramStorunonAnyPlatformWithOdification、whilecross-platformdevelopmentReadreessomeplatform-specificAdjustments.platformindependence、explifiedByjava、unableSiversAlexecutionButMayCompromperformance

ジャストインタイム(JIT)コンピレーションは、Javaのパフォーマンスとプラットフォームの独立性にどのような影響を与えますか?ジャストインタイム(JIT)コンピレーションは、Javaのパフォーマンスとプラットフォームの独立性にどのような影響を与えますか?Apr 26, 2025 am 12:02 AM

jitcompalilationinjavaenhancesperformance whelemaintaining formindepence.1)itdynamicallyTrantesiNTODENATIVEMACHINECODEATRUNTIME、最適化されたコードを最適化すること、

Javaがクロスプラットフォームデスクトップアプリケーションを開発するための人気のある選択肢なのはなぜですか?Javaがクロスプラットフォームデスクトップアプリケーションを開発するための人気のある選択肢なのはなぜですか?Apr 25, 2025 am 12:23 AM

javaispopularforsoss-platformdesktopapplicationsduetoits "writeonce、runaynay" philosophy.1)itusesbytecodatiTatrunnanyjvm-adipplatform.2)ライブラリリケンディンガンドジャヴァフククレアティック - ルルクリス

Javaでプラットフォーム固有のコードを作成する必要がある場合がある状況について話し合います。Javaでプラットフォーム固有のコードを作成する必要がある場合がある状況について話し合います。Apr 25, 2025 am 12:22 AM

Javaでプラットフォーム固有のコードを作成する理由には、特定のオペレーティングシステム機能へのアクセス、特定のハードウェアとの対話、パフォーマンスの最適化が含まれます。 1)JNAまたはJNIを使​​用して、Windowsレジストリにアクセスします。 2)JNIを介してLinux固有のハードウェアドライバーと対話します。 3)金属を使用して、JNIを介してMacOSのゲームパフォーマンスを最適化します。それにもかかわらず、プラットフォーム固有のコードを書くことは、コードの移植性に影響を与え、複雑さを高め、パフォーマンスのオーバーヘッドとセキュリティのリスクをもたらす可能性があります。

プラットフォームの独立性に関連するJava開発の将来の傾向は何ですか?プラットフォームの独立性に関連するJava開発の将来の傾向は何ですか?Apr 25, 2025 am 12:12 AM

Javaは、クラウドネイティブアプリケーション、マルチプラットフォームの展開、および言語間の相互運用性を通じて、プラットフォームの独立性をさらに強化します。 1)クラウドネイティブアプリケーションは、GraalvmとQuarkusを使用してスタートアップ速度を向上させます。 2)Javaは、埋め込みデバイス、モバイルデバイス、量子コンピューターに拡張されます。 3)Graalvmを通じて、JavaはPythonやJavaScriptなどの言語とシームレスに統合して、言語間の相互運用性を高めます。

See all articles

ホット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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、