java基礎之集合

      在java中,對數據的操作很多都要用到集合。最近零星的看了一點集合的相關知識,這裏稍微梳理一下。基本上就是集合操作的四個常用類的一點總結。

    首先,集合大致分爲兩個方向,一種是普通的集合類型,通過接口collection向下擴展,另一種是map接口下的鍵值對的集合類型。今天主要說的的四個類ArrayList和LinkedList是collection接口下List接口的兩個實現類。另外兩個HashMap和TreeMap則是Map接口的實現類。

   首先,對於Collection,它的主要分支有兩個:List和Set。List是有序的可以重複的集合接口,而Set是無序的不可重複的集合接口。

ArrayList:

  •     線程非同步
  •     介紹:可變的數組,允許所有元素包括NULL
  •     特點:可以根據索引位置對集合進行快速的訪問和遍歷,缺點是向指定位置插入和刪除對象很慢
  •      應用:適合隨機查找和遍歷,不適合插入和刪除。

LinkList:

  •     線程非同步
  •     介紹:採用鏈表結構保存對象
  •     特點:很便於向指定地點插入和刪除對象,缺點是隨機訪問集合中的對象效率很慢
  •      應用:數據的動態插入和刪除,不適合隨機訪問和遍歷
  因爲兩個類都是實現List接口,方法都差不多:
       @Test
	public void test1()
	{
		List<String> list=new ArrayList<String>();
		list.add("AK-47");
		list.add("ACER");
		list.add("ASUS");
		list.set(2, "HP");//替換
		list.add(2, "Dell");//插入
		list.add("LENOVO");
		list.indexOf("HP");//查找
		Iterator<String> iterator =list.iterator();
		while(iterator.hasNext())
		{
			System.out.println(iterator.next());
		}
		
	}

HashMap:

  •   介紹:基於哈希表的Map接口實現,允許NULL
  •   特點:實現了Map集合對添加刪除映射關係效率比較高,不能保證映射順序
  •   應用:用於添加刪除映射關係

TreeMap:

  •   介紹:實現Map和SortedMap接口,不允許NULL
  •   特點:有一定的映射順序,但是添加刪除映射關係效率比HashMap差
  •   應用:用於添加刪除映射關係
 演示代碼:
  
       @Test
	public void test2()
	{
		HashMap m=new HashMap();
		m.put("001", "Acer");
		m.put("002", "HP");
		m.remove("002");
		m.put("003", "LENOVO");
		Set set=m.entrySet(); 
		Iterator iterator=set.iterator();
		while(iterator.hasNext())
		{
			Map.Entry mapentity= (Map.Entry) iterator.next();
			System.out.println(mapentity.getKey()+":"+mapentity.getValue());
		}
		
	}
OK,集合就先寫到這裏。有什麼錯誤請指正
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章