JAvaのcollectionクラス使用

2645 ワード

collectionでよく使われる方法:
追加:
1:add()指定したオブジェクトをコンテナに格納 add メソッドのパラメータタイプはObject 任意のオブジェクトの受信が容易
2:addAll() 指定したセットの要素をメソッドとセットを呼び出すには
削除:
3:remove() 指定したオブジェクトをコレクションから削除
4:removeAll() 指定したコレクションの要素を削除
変更
5:clear() コレクション内のすべての要素をクリア
と判断
6:isEmpty() 集合が空かどうかを判断する
7:contains() 集合に指定したオブジェクトが含まれているかどうかを判断する
8:containsAll() 集合に指定された集合が含まれているかどうかを判断equals()を使用して2つのオブジェクトが等しいかどうかを判断する 
取得: 
  9:int size()    コレクションコンテナのサイズを返します
配列10に変換: toArray()   集合変換配列、Object配列への変換
例:
Collection c1 = new  ArrayList();
		c1.add("wuli");//add      Object 
		c1.add("huaxue");
		System.out.println(c1);// [wuli, huaxue]
		
		Collection c2 = new  ArrayList();
		c2.add("lishi");
		c2.addAll(c1); //addAll                
		System.out.println(c2); //[lishi, wuli, huaxue]
		
		System.out.println(c2.contains("shuxue")); //false
		System.out.println(c2.contains("wuli")); //true
		System.out.println(c2.containsAll(c1)); //true
class Person {
	private String name;
	private int age;

	public Person() {

	}

	public Person(String name, int age) {

		this.name = name;
		this.age = age;
	}

	@Override
	public int hashCode() {
		return this.name.hashCode() + age;
	}

	@Override
	public boolean equals(Object obj) {
		if (!(obj instanceof Person)) {
			return false;
		}
		Person p = (Person) obj;
		return this.name.equals(p.name) && this.age == p.age;
	}

	@Override  
	public String toString() {
		return "Person :name=" + name + ", age=" + age;
	}

}


public static void main(String[] args) {
		Person p1 = new Person("  ", 19);
		Person p2 = new Person("  ", 20);
		Person p3 = new Person("  ", 18);
		Collection list = new ArrayList();
		list.add(p1);
		list.add(p2);
		list.add(p3);
		// isEmpty()         
		boolean empty = list.isEmpty();
		System.out.println(empty);
		//          
		int size = list.size();
		System.out.println(size);
         // contains()              
		boolean contains = list.contains(p1);
		System.out.println(contains);

		// remove();             
		list.remove(p1);
		
		// clear()           
		list.clear();
		System.out.println(list);

	}

次の点に注意してください.
1:Personクラス
1:名前と年齢
2:hashCodeとequalsメソッドの書き換え
1:書き換えない場合、Objectクラスのequalsメソッドを呼び出し、メモリアドレスをfalseと判断する
1:Personクラスのオブジェクトで、名前と年齢が同じ場合はtrueを返します.
2:書き換えない場合は、親hashCodeメソッドを呼び出します.
1:equalsメソッドが同じであればhashCodeも同じで、hashCodeメソッドを書き換える必要があります
3:toStringメソッドの書き換え
1:書き換えずに、ObjectクラスのtoStringメソッドを直接呼び出し、そのオブジェクトのメモリアドレスを印刷する
Personクラス