1. 線形テーブル
定義
線形テーブルは、最も基本的かつ単純で、最も一般的に使用されるデータ構造です。同じ特性を持つ n 個のデータ要素を含む有限シーケンスは線形リストと呼ばれ、データ構造の一種です。
一般的な線形リスト: シーケンシャル リスト、リンク リスト、スタック、キュー...
線形リストは論理的に線形な構造、つまり連続した直線です。線形テーブルの物理的な記憶形式は通常、配列またはリンク リスト構造ですが、必ずしも連続的であるとは限りません。
特徴
#セット内には「最初の要素」が 1 つだけ存在する必要があります。
セットには「最後の要素」が 1 つだけ存在する必要があります。
最後の要素を除き、すべての要素には一意のサクセサ (サクセサ) があります。
最初の要素を除き、すべての要素には一意の先行要素 (先行要素) があります。
2. シーケンス テーブル
定義
通常、配列の形式で格納される線形構造はシーケンス テーブルと呼ばれ、データ要素が格納されます。連続したアドレスを持つ物理メモリセル内で順番に。アレイ上のデータの追加、削除、確認、変更を完了します。
実装
まず、データを保存する配列を作成する必要があります。
注: 便宜上、最初に整数配列を作成したため、さまざまな型に適切に適応するために、ここでは使用していない汎用配列を作成できます。 。 書きました。
ここでは、現時点で配列が空であるかどうかを考慮する必要があります。
#要素の検索
ここでは null 操作も必要です。
pos 位置の要素を取得する
配列が空で pos が不正な状況が発生する可能性があるため、判断が必要です。
ここでは手動で例外をスローしていますが、他には何も書いていません。
pos 位置の値を変更します
削除操作
特定の位置にある要素を削除しますPosition を使用すると、その背後にある要素で直接カバーして削除を実現できます。
3. ArrayList
はじめに:
コレクション フレームワークでは、ArrayList は List インターフェイスを実装する通常のクラスであり、具体的なフレームワーク図は次のとおりです:
[説明]
ArrayList は RandomAccess インターフェイスを実装しており、ArrayList がランダム アクセスをサポートしていることを示します。
ArrayList は Cloneable インターフェイスを実装し、ArrayList を複製できることを示します。
ArrayList は Serializable インターフェイスを実装し、ArrayList がシリアル化をサポートしていることを示します。
Vector とは異なり、ArrayList はスレッドセーフではなく、単一スレッドで使用できます。マルチスレッドでは、Vector または CopyOnWriteArrayList を選択できます。
ArrayList の最下層は連続空間で動的に展開可能な動的型の配列リストです。
public static void main(String[] args) {
// ArrayList创建,推荐写法
// 构造一个空的列表
List<Integer> list1 = new ArrayList<>();
// 构造一个具有10个容量的列表
List<Integer> list2 = new ArrayList<>(10);
list2.add(1);
list2.add(2);
list2.add(3);
// list2.add("hello"); // 编译失败,List<Integer>已经限定了,list2中只能存储整形元素
// list3构造好之后,与list中的元素一致
ArrayList<Integer> list3 = new ArrayList<>(list2);
// 避免省略类型,否则:任意类型的元素都可以存放,使用时将是一场灾难
List list4 = new ArrayList();
list4.add("111");
list4.add(100);
}
いくつかの一般的な方法
説明 | |
End insert e | |
will e はインデックス位置に挿入されます | |
コレクション c の要素の末尾をコレクションに挿入します | |
##boolean Remove(Object o) | |
E get(intindex) | |
E set(int index, E element) | |
void clear() | |
boolean contains(Object o) | |
intindexOf(Object o) | |
#int lastIndexOf(Object o)の添え字を返します | 最後の o |
##List subList(int fromIndex, int toIndex) | リストの一部のインターセプト |
ArrayList traversal | Loop traversal |
##Iterator
System.out.println("======迭代器1========="); ElementObservableListDecorator<Object> list; Iterator<String> it = list.iterator(); while (it.hasNext()) { System.out.println(it.next()); } System.out.println("======迭代器2========="); ListIterator<String> it2 = list.listIterator(); while (it2.hasNext()) { System.out.println(it2.next()); }シーケンス テーブルとの違い配列間:
シーケンス テーブルは配列の容量と要素の数を厳密に区別します。
つまり、配列は実際には不完全なシーケンス リストです。シーケンス テーブルの注意:
シーケンス テーブルでは、容量と要素数 (サイズ) という 2 つの概念を区別する必要があります。 )。容量は配列のサイズ (長さ) として理解でき、要素数はサイズに記録された有効な要素の数です。
- シーケンス テーブルでは、データの格納が連続している必要があり、要素間に「隙間」があってはなりません。挿入や削除などの操作を行うと、その操作が完了した後、シーケンスリストの連続性を確認してください。
以上がJava で ArrayList とシーケンス リストを定義および実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

この記事では、Javaプロジェクト管理、自動化の構築、依存関係の解像度にMavenとGradleを使用して、アプローチと最適化戦略を比較して説明します。

この記事では、MavenやGradleなどのツールを使用して、適切なバージョン化と依存関係管理を使用して、カスタムJavaライブラリ(JARファイル)の作成と使用について説明します。

この記事では、カフェインとグアバキャッシュを使用してJavaでマルチレベルキャッシュを実装してアプリケーションのパフォーマンスを向上させています。セットアップ、統合、パフォーマンスの利点をカバーし、構成と立ち退きポリシー管理Best Pra

この記事では、キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPAを使用することについて説明します。潜在的な落とし穴を強調しながら、パフォーマンスを最適化するためのセットアップ、エンティティマッピング、およびベストプラクティスをカバーしています。[159文字]

Javaのクラスロードには、ブートストラップ、拡張機能、およびアプリケーションクラスローダーを備えた階層システムを使用して、クラスの読み込み、リンク、および初期化が含まれます。親の委任モデルは、コアクラスが最初にロードされ、カスタムクラスのLOAに影響を与えることを保証します


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

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

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。
