JAVA基礎のList
概要:
1.順序(番号(索引)の順序は、順序の順序ではなく、Setコントラストに対して生じる説)で、集合を繰り返すことができます。
2.ListはCollectionのサブインターフェースであるので、ListはCollectionの全ての方法を使用することができる。(本人のブログ関連記事を見て)
3.それ以外にもListは独自の方法、インデックスに関する操作があります(この部分を重点的に紹介します)。
4.削除時に横になって銃を撃つのを防ぐ
5.ListIterator:listを専門に操作するディズエ代機(この例は詳しく説明していません。興味があります。apiを見てください。)
6.2つの基本的な実現類ArayList(非スレッドセキュリティ)とVector(スレッドセキュリティ)
1.Vectorは古いレガシー(性能が悪い)ですので、おすすめできません。
2.Vectorスタックデータ構造は、LinkdListを用いて代替する
7.Arays.ArayListは固定された長さのListであり、エルゴードでしか操作できない。
8.LinkdList
1.二重端行列とスタックを作るために使用できます。
2.チェーン形式で保存しているので、ランダムアクセスの性能が悪いですが、繰り返し、挿入、削除の性能がいいです。ポインタの指すアドレス(データ構造の知識)を直接変えることができますから。
関連記事の接続:
『JAVA基礎のCollection』
『JAVA基礎のセット』
宣言:
1.オリジナルの文章は、転載して本文を明記して接続してください。
2.より詳細なAPIを参照してください。 http://docs.oracle.com/javase/7/docs/api/
3.文章は個人の愚見を反映しています。異議があれば、ご指摘を歓迎します。
1.順序(番号(索引)の順序は、順序の順序ではなく、Setコントラストに対して生じる説)で、集合を繰り返すことができます。
2.ListはCollectionのサブインターフェースであるので、ListはCollectionの全ての方法を使用することができる。(本人のブログ関連記事を見て)
3.それ以外にもListは独自の方法、インデックスに関する操作があります(この部分を重点的に紹介します)。
4.削除時に横になって銃を撃つのを防ぐ
5.ListIterator:listを専門に操作するディズエ代機(この例は詳しく説明していません。興味があります。apiを見てください。)
6.2つの基本的な実現類ArayList(非スレッドセキュリティ)とVector(スレッドセキュリティ)
1.Vectorは古いレガシー(性能が悪い)ですので、おすすめできません。
2.Vectorスタックデータ構造は、LinkdListを用いて代替する
7.Arays.ArayListは固定された長さのListであり、エルゴードでしか操作できない。
8.LinkdList
1.二重端行列とスタックを作るために使用できます。
2.チェーン形式で保存しているので、ランダムアクセスの性能が悪いですが、繰り返し、挿入、削除の性能がいいです。ポインタの指すアドレス(データ構造の知識)を直接変えることができますから。
package com.cxy.collection;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
/**
* @author cxy
*/
public class ListTest
{
public static void main(String[] args)
{
List l=new ArrayList();
l.add(" ");
l.add(" ");
l.add(" ");
l.add(" ");
l.add(" ");
System.out.println(l); //
System.out.println(" 3 :"+l.get(3));
System.out.println(" :"+l.indexOf(" "));
System.out.println(" :"+l.lastIndexOf(" "));
l.set(3, " "); //
l.add(4," "); //
System.out.println(l);
l.remove(" "); //
System.out.println(l);
l.remove(new AA()); // AA equals true, AA ,
System.out.println(l);
l.remove(new BB()); //BB equals false, List 。
System.out.println(l);
l.remove(0); //
System.out.println(l);
ArrayList l1=new ArrayList();
l1.ensureCapacity(64); // , , ,
l1.trimToSize(); // , 。
try
{
List temp = Arrays.asList(" "," "," ");
temp.remove(0);
}catch(Exception e)
{
System.out.println("temp list, ");
}
LinkedList ll = new LinkedList();
ll.add("aaa");
ll.add("bbb");
ll.add("ccc");
ll.add("ddd");
System.out.println(" :"+ll);
ll.addLast("zzz"); // --
ll.removeFirst(); // --
System.out.println(" :"+ll);
ll.addFirst("kkk"); // --
System.out.println("kkk :"+ll);
ll.removeFirst(); // --
System.out.println("kkk :"+ll);
ll.removeLast(); //
System.out.println("=========================");
ll = new LinkedList();
ll.add("aaa");
ll.add("bbb");
ll.add("ccc");
ll.add("ddd");
System.out.println(" :"+ll);
ll.push("kkk"); // --
System.out.println("kkk :"+ll);
ll.pop(); // --
System.out.println("kkk :"+ll);
ll.offer(""); // --
ll.offerFirst(""); // true addFirst
ll.offerLast(""); // true addLast
ll.poll(); //
ll.pollFirst(); //
ll.pollLast(); //
ll.peekFirst(); //
ll.peekLast(); //
ll.removeFirstOccurrence("aaa"); // aaa
ll.removeLastOccurrence("aaa"); // aaa
}
}
class AA
{
@Override
public boolean equals(Object obj)
{
return true;
}
}
class BB
{
@Override
public boolean equals(Object obj)
{
return false;
}
}
関連記事の接続:
『JAVA基礎のCollection』
『JAVA基礎のセット』
宣言:
1.オリジナルの文章は、転載して本文を明記して接続してください。
2.より詳細なAPIを参照してください。 http://docs.oracle.com/javase/7/docs/api/
3.文章は個人の愚見を反映しています。異議があれば、ご指摘を歓迎します。