Map集合例項練習三--HashMap與arrayList的幾種遍歷方式,重點!請一定要掌握熟練
本章節是基於例項練習一與練習二的練習例項:
以下是string的常用判斷,在實際開發中,經常使用到。
1 isNotEmpty(str)等價於 str != null && str.length > 0
2 isNotBlank(str) 等價於 str != null && str.length > 0 && str.trim().length > 0
3 同理
4 isEmpty 等價於 str == null || str.length == 0
5 isBlank 等價於 str == null || str.length == 0 || str.trim().length == 0
6 str.length > 0 && str.trim().length > 0 ---> str.length > 0
ArrayList的幾種遍歷方式:
package cn.arrays; import java.util.ArrayList; public class ArrayList2 { public static void main(String[] args) { //建立一個arraylist集合,遍歷arrayList集合 ArrayList<String> list = new ArrayList<String>(); list.add("加油"); list.add("努力"); list.add("奮鬥"); list.add("自信"); System.out.println("arrayList集合遍歷,方法一"); for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); } System.out.println("arrayList集合遍歷,方法二"); for (String a : list) { System.out.println(a); } } }
以上輸出結果:
arrayList集合遍歷,方法一
加油
努力
奮鬥
自信
arrayList集合遍歷,方法二
加油
努力
奮鬥
自信
HashMap的幾種遍歷方式:
package cn.collections; import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class TestMap2 { public static void main(String[] args) { Map<Integer, String> map = new HashMap<Integer, String>(); map.put(1, "努力"); map.put(2, "加油"); map.put(3, "奮鬥"); map.put(4, "自信"); map.put(5, "永不放棄");// 和上面相同 , 會自己篩選 System.out.println("size的大小"+"...."+map.size()); System.out.println("第一種:通過Map.keySet遍歷key和value:"); for (Integer in : map.keySet()) { //map.keySet()返回的是所有key的值 String str = map.get(in);//得到每個key多對用value的值 System.out.println(in + " " + str); } // 第二種: System.out.println("第二種:通過Map.entrySet使用iterator遍歷key和value:"); Iterator<Map.Entry<Integer, String>> it = map.entrySet().iterator(); while (it.hasNext()) { Map.Entry<Integer, String> entry = it.next(); System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); } // 第三種:推薦,尤其是容量大時 System.out.println("第三種:通過Map.entrySet遍歷key和value"); for (Map.Entry<Integer, String> entry : map.entrySet()) { //Map.entry<Integer,String> 對映項(鍵-值對) 有幾個方法:用上面的名字entry //entry.getKey() ;entry.getValue(); entry.setValue(); //map.entrySet() 返回此對映中包含的對映關係的 Set檢視。 System.out.println("key= " + entry.getKey() + " value= " + entry.getValue()); } // 第四種: System.out.println("第四種:通過Map.values()遍歷所有的value,但不能遍歷key"); for (String v : map.values()) { System.out.println("value= " + v); } //增強for一定要掌握,使用keySet System.out.println("這個一定要掌握,使用keySet"); for (Integer a : map.keySet()) { System.out.println(a + " " + map.get(a)); } } }
以上輸出的結果為:
size的大小....5
第一種:通過Map.keySet遍歷key和value:
1 努力
2 加油
3 奮鬥
4 自信
5 永不放棄
第二種:通過Map.entrySet使用iterator遍歷key和value:
key= 1 and value= 努力
key= 2 and value= 加油
key= 3 and value= 奮鬥
key= 4 and value= 自信
key= 5 and value= 永不放棄
第三種:通過Map.entrySet遍歷key和value
key= 1 value= 努力
key= 2 value= 加油
key= 3 value= 奮鬥
key= 4 value= 自信
key= 5 value= 永不放棄
第四種:通過Map.values()遍歷所有的value,但不能遍歷key
value= 努力
value= 加油
value= 奮鬥
value= 自信
value= 永不放棄
這個一定要掌握,使用keySet
1 努力
2 加油
3 奮鬥
4 自信
5 永不放棄
總結:
1.執行緒安全的是vertor和HashTable。
2. List:允許重複的,全部有序(允許null)。
3.Set: HashSet無序的表現(一個null),其中HashSet的子類LinkedHashSet有序,TreeSet有序。
4.Map:HashMap無序的表現(一次null),其中HashMap的子類LinkedHashMap有序,TreeMap有序,HashTable無序(不能為null)。
5.ArrayList:查詢效率高,增刪效率低。
6.LinkedList:查詢效率低,增刪效率高。
7.Vertor:執行效率非常低。
8.HashSet:良好的增刪查詢效能。
9.LinkedHashSet:查詢效率低,插入效率比HashSet低。
10.Map物件高於List。因為Map除了Value外還需要一個Object的Key,從而增大了Map的容量。
11. HashSet,HashMap的元素都是無序的,而他們的子類都是有序的,雙向連結串列,非常類似,因為HashMap中的唯一的約束就是key,而 key恰恰是被HashMap維護的
12.TreeSet和TreeMap都是有序的,兩個很類似。
13. 如果Map知道了Key,List知道了index,其效能在一百萬條資料中無多大差別。
14.List按物件進入的順序儲存物件,不做排序或編輯操作。Set對每個物件只接受一次,並使用自己內部的排序方法(通常,你只關心某個元素是否屬於 Set,而不關心它的序否則應該使用List)。Map同樣對每個元素儲存一份,但這是基於"鍵"的,Map也有內建的排序,因而不關心元素新增的 順序。如果新增元素的順序對你很重要,應該使LinkedHashSet或者LinkedHashMap。
15.HashMap就是使用物件的hashCode()進行快速查詢的。此方法能夠顯著提高效能。
簡單資料結構
資料結構指的資料儲存和組織方式,如日常的容器中,有方形、圓形、存放液體、固體,都是。
我們在前邊見到了多種不同結構的集合,每種集合有各自資料結構特點,總結如下:
陣列結構:一塊連續的儲存區域
連結串列結構:每個元素指向下一個元素
佇列結構:容器先進先出的規則
棧結構:容器先進後出規則
相關推薦
Map集合例項練習三--HashMap與arrayList的幾種遍歷方式,重點!請一定要掌握熟練
本章節是基於例項練習一與練習二的練習例項: 以下是string的常用判斷,在實際開發中,經常使用到。 1 isNotEmpty(str)等價於 str != null && str.length > 0 2 isNotBlank(str) 等
Map集合的四種遍歷方式,自己記錄,方便以後查詢參考!
for 映射 while entryset 返回 方式 bsp rgs put 1 import java.util.HashMap; 2 import java.util.Iterator; 3 import java.util.Map; 4 5 publi
Map集合的幾種遍歷方式
import java.util.HashMap; 2 import java.util.Iterator; 3 import java.util.Map; 4 5 public class TestMap { 6 public static void
Map集合和List集合的幾種遍歷方式
++++++++++++++++++++++List集合遍歷++++++++++++++++++++++++++++++++++++++++++++++publicstaticvoid main(Str
Java基礎及提高 之 陣列,List,Set,Map的幾種遍歷方式
一,陣列的遍歷方式 陣列有兩種遍歷方式: public class ArrayXunhuan { public static void main(String[] args) { int[
【演算法模板】二叉樹的三種遍歷方式,以及根據兩種遍歷方式建樹
前言:今年九月份的PAT考試就栽在這“兩種遍歷建樹”上了,剛好沒看,剛好考到。作為自己的遺憾,今日碼完,貼在這裡留個紀念,希望能給自己警醒與警鐘。 簡要概括: 1、二叉樹的三種遍歷方式分別是 先序(先根)遍歷PreOrder,中序(中根)遍歷InOrder,後序(後根
list的幾種遍歷方式及其效率,ArrayList和LinkedList的結構
話不多說,上程式碼: @Test public void testListSeq(){ List<String> list = new ArrayList<String>(); // List<String> list = ne
二叉樹三種遍歷方式,先序、中序、後序
二叉樹遍歷方式分為三種:先序,中序和後序。 可以以根節點的位置為參考來記遍歷方式,在第一個為先序,中間為中序,最後為後序; 即:先序: 根左右;中序:左根右;後序:左右根。 借個圖: 每個節點左上角,底部,右上角分別對應先序,中序,後序時的取值點
Map集合例項練習二
本篇主要講解hashMap的遍歷:!!!!!!!!!!!!!這可以是重點之重,一定要掌握運用!!!! 遍歷方式1 : 通過鍵的集合,獲取值 . package cn.map2; import java.util.Collection; import java.ut
《Map中HashMap與TreeMap的排序以及四種遍歷方式》
一、Map概述 1、Map是將鍵對映到值( key-value )的物件。一個對映不能包含重複的鍵;每個鍵最多隻能對映到一個值。 2、Map與Collection的區別 (1)Map 是以鍵值對的方式儲存元素,鍵唯一,值可以重複。 &nb
Map集合的三種遍歷方式
import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import java.util.Set; public class
集合的三種遍歷方式
叠代器 whl print 循環 下一個 sys 三種 iterator for 1、for循環 代碼實現: for(int i=0;i<list.size();i++){ product p=list.get(i); System.println(p); } 2、叠
Map的三種遍歷方式
package com.qf.day13; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.
Java中List集合的遍歷(三種遍歷方式效率的比較)
public static void main(String args[]){ compare(); } public static void compare() { List<String> list = new ArrayList
java集合的三種遍歷方式以及各自優缺點分析
1、Iterator介面 Iterator是Java集合框架的成員,主要用於遍歷(即迭代訪問)Collection集合中的元素,也稱為迭代器。 提供的三種方法: boolean hasNext():返回集合裡的下一個元素。 Object next():
使用泛型後的List集合型別的三種遍歷方式
我們常用的集合型別有三種基本型別:List,Set和Map型別,其中運用泛型過後的這三種類型當中,List有三種遍歷方式,Set和Map有兩種遍歷方式,而List這三種方式當中包含了Set和Map的另外兩種遍歷方式,因此我們以List為例. 遍歷泛型List集合的三種方法包
ArrayList三種遍歷方式比較
方法一:普通for迴圈遍歷 //僅做程式碼的格式說明,不涉及具體問題 for(int i = 0 ; i < list.size() ; i++){ system.out.println(list.get(i)); } 方法二:增強f
set集合的三種遍歷方式
1.利用迭代器進行 ,迭代遍歷:Set<Object> sets = new HashSet<Object>();Iterator<Object> it = set.iterator();while (it.hasNext()) { S
Map集合的兩種遍歷方式
import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; pu
hashMap的三種遍歷方式
public void testClass(){ HashMap<String, String> hashMap = new HashMap<String,