1. 程式人生 > >集合類的增刪改查

集合類的增刪改查

List的增刪改查

package daili;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

public class myinterfaceimpl{
public static void main(String[] args) {
	List<String> list1=new ArrayList<String>();
	List<String> list2=new LinkedList<String>();
	list1.add(0, "第一個");
	list1.add("第二個");
	list2.add("1");
	list2.add("2");
	System.out.println(list1);
	System.out.println(list2);
	list1.addAll(list2);
	System.out.println(list1);
	
	list1.remove(2);
	System.out.println(list1);
	
    for (int i = 0; i < list1.size(); i++) {
    	if(list1.get(i).length()>2)
    	{
    		list1.remove(i);
    	}
		
	}
	System.out.println(list1);
	Collections.synchronizedList(list1);
	
}

SET的增刪改查

package daili;

import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;

public class myinterfaceimpl {
	public static void main(String[] args) {
		Set<String> set = new TreeSet<String>();
		set.add("第一個");
		set.add("第二個");
		set.add("第三個");
		set.add("第一個");
		System.out.println(set);
		
		System.out.println(set.contains("diyige"));
		
		set.remove("第一個");
		set.clear();
		System.out.println(set);
		
	}

}

MAP的增刪改查

一鍵不能對多值,當然實現一鍵多值只會把前值覆蓋了,鍵還是那把鍵

反過來,一值是可以對應多鍵的

map中和其他兩個有相同的方法:如

void clear() 
          從此對映中移除所有對映關係。
clone() 
          返回此 HashMap 例項的淺表副本:並不複製鍵和值本身。
 boolean  
          如果此對映包含對於指定鍵的對映關係,則返回 true。
 boolean  
          如果此對映將一個或多個鍵對映到指定值,則返回 true。
 
          返回此對映所包含的對映關係的 Set 檢視。
 V  
          返回指定鍵所對映的值;如果對於該鍵來說,此對映不包含任何對映關係,則返回 null
 boolean  
          如果此對映不包含鍵-值對映關係,則返回 true。
 Set<K>  
          返回此對映中所包含的鍵的 Set 檢視。
 V put(K key, V value) 
          在此對映中關聯指定值與指定鍵。
 void (Map<? extends K,? extends V> m) 
          將指定對映的所有對映關係複製到此對映中,這些對映關係將替換此對映目前針對指定對映中所有鍵的所有對映關係。
 V  
          從此對映中移除指定鍵的對映關係(如果存在)。
 int size() 
          返回此對映中的鍵-值對映關係數。

紫色標的這些都是相同的和其他兩個集合類,另外contain分為兩塊一個是檢測值存在一個是檢測鍵存在

其他集合類用add,map使用put,且其他的remove為移值,而map為移除鍵,自然也把值移除了;

另外還需注意是map的遍歷方法與前兩者有所區別

前兩種的遍歷的兩種常用方法

//法1
for(String str:set/list(物件))
{
    system.out.println(str);
}

//法2

iterator it=set/list.iterator()
while(it.hasNext){
  system.out.println(it.next())
}

map的遍歷方法

map的遍歷 
for (Integer key : map.keySet()) {
      System.out.println(key+map.get(key));	
		}



set的遍歷
 for (Integer integer : set) {
			System.out.println(integer);
		}
        

對比set和map的 遍歷方法可以得出,map真正遍歷的是key,value不過是key找到後的值而已。而尋找到key只要尋找到map對應的set就可以了