Javaウィジェットのカスタムチェーンテーブルの実装
2002 ワード
Javaウィジェットのカスタムチェーンテーブルの実装
一、前に私たちは自分で列を実現して、画板の再描画と関係があります.今日はカスタムチェーンテーブルを実現します.
二、カスタムチェーンテーブル実現ソースコード:
ノードクラス:
カスタムチェーンテーブルの実装:
カスタムチェーンテスト:
三、まとめ:
1、キューと配列の違い:配列の大きさは可変ではなく、キューは動的に変化することができる.
2、キューとチェーンテーブルの違い:キューとチェーンテーブルはすべて動的に変化することができて、しかし、キューは要素を探すのが便利で、直接下のマークを通じてアクセスすることができて、2つのチェーンテーブルは最初から遍歴することができて、要素を見つけるまでやっと終わります;しかし、キューが指定された位置で要素を削除するのは不便で、大部分の要素を移動する必要がありますが、チェーンテーブルの挿入と削除は非常に便利で、一定の要素は必要ありません.参照を変更するだけです.
3、Javaではキュー(ArrayList)とチェーンテーブル(LinkedListener)クラスが提供されているが、自分でカスタマイズして実現することで、自分で下層の実現原理をよりよく理解し、後で使うことができる.
4、常に挿入と削除が必要で、チェーンテーブルを使うのがよい.常に検索する必要がある使用キューが良いです.
一、前に私たちは自分で列を実現して、画板の再描画と関係があります.今日はカスタムチェーンテーブルを実現します.
二、カスタムチェーンテーブル実現ソースコード:
ノードクラス:
package Test;
//
public class Node {
public int data;
public Node next;
}
カスタムチェーンテーブルの実装:
package Test;
public class MyLinkedList {
//
private Node head = new Node();
//
public int size=0;
//
public void add(int value){
Node node = new Node();
node.data=value;
Node nextNode =new Node();
nextNode=head;
//
while(nextNode.next!=null){
nextNode =nextNode.next;
}
nextNode.next=node;
size++;
}
//
public void insert(int value,int index){
Node node = new Node();
node.data=value;
int count=0;
Node nextNode = head;
while(count
カスタムチェーンテスト:
package Test;
public class Test {
public static void main(String[] args) {
MyLinkedList linked = new MyLinkedList();
linked.add(1);
linked.add(2);
linked.add(3);
linked.add(4);
linked.add(3);
linked.updata(5, 4);
linked.insert(0, 0);
linked.out();
System.out.println("=======");
linked.delete(5);
linked.add(3);
linked.out();
linked.search(3);
}
}
三、まとめ:
1、キューと配列の違い:配列の大きさは可変ではなく、キューは動的に変化することができる.
2、キューとチェーンテーブルの違い:キューとチェーンテーブルはすべて動的に変化することができて、しかし、キューは要素を探すのが便利で、直接下のマークを通じてアクセスすることができて、2つのチェーンテーブルは最初から遍歴することができて、要素を見つけるまでやっと終わります;しかし、キューが指定された位置で要素を削除するのは不便で、大部分の要素を移動する必要がありますが、チェーンテーブルの挿入と削除は非常に便利で、一定の要素は必要ありません.参照を変更するだけです.
3、Javaではキュー(ArrayList)とチェーンテーブル(LinkedListener)クラスが提供されているが、自分でカスタマイズして実現することで、自分で下層の実現原理をよりよく理解し、後で使うことができる.
4、常に挿入と削除が必要で、チェーンテーブルを使うのがよい.常に検索する必要がある使用キューが良いです.