HashMap和Iterator迭代器的小用法
1.先貼出求解任意輸入的一字串中各字元的個數
Scanner scan = new Scanner(System.in); String inputStr = scan.nextLine(); char[] inputArr = inputStr.toCharArray(); Map<Character, Integer> map = new HashMap<>(); for (int i = 0; i < inputArr.length; i++) { char ch = inputArr[i]; map.put(ch, 0); } for (int i = 0; i < inputArr.length; i++) { char ch = inputArr[i]; if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')){ if(map.containsKey(ch)){ int value = map.get(ch)+ 1; map.put(ch, value); } } } System.out.println(map);
2.使用Iterator迭代器遍歷Map鍵值對
Set<Object> set = map.keySet();
Iterator<Object> it = set.iterator();
while (it.hasNext()) {
Object key = it.next();
Object value = map.get(key);
System.out.println(key +":"+ value);
}
Java中的Iterator功能比較簡單,並且只能單向移動:
(1) 使用方法iterator()要求容器返回一個Iterator。第一次呼叫Iterator的next()方法時,它返回序列的第一個元素。注意:iterator()方法是java.lang.Iterable介面,被Collection繼承。
(2) 使用next()獲得序列中的下一個元素。
(3) 使用hasNext()檢查序列中是否還有元素。
(4) 使用remove()將迭代器新返回的元素刪除。
Iterator是Java迭代器最簡單的實現,為List設計的ListIterator具有更多的功能,它可以從兩個方向遍歷List,也可以從List中插入和刪除元素。
相關推薦
HashMap和Iterator迭代器的小用法
1.先貼出求解任意輸入的一字串中各字元的個數Scanner scan = new Scanner(System.in); String inputStr = scan.nextLine(); char[] inputArr = inputStr.toCharArray();
List集合ListIterator和Iterator迭代器區別與用法
ListIterator是Iterator的子介面,是List集合特有的迭代輸出介面,它可以實現在迭代過程中對元素的增刪改查。 在使用Iterator迭代過程中,不要使用集合操作元素,容易出現異常
#Java集合--ListIterator和Iterator迭代器的聯絡與區別
List的listIterator()方法會返回一個ListIterator迭代器物件,該迭代器的功能和Iterator迭代器基本相同,基本使用如下所示: ListIterator<String> iterator = list.listIterator(); for(;i
enumerator迭代器和Iterator迭代器淺述
怎麼突然想起這個主題了呢?是在瀏覽關於HashMap和HashTable的相關效能的時候,瞭解到他們的迭代機制不同,就深入探討一下。HashMap和HashTable 主要區別是:執行緒安全、速度、迭代器;前兩個區別之前的部落格描述過,這裡只討論迭代器: 上原始碼: Enumer
iterator迭代器的使用_遍歷List和Set和Map
迭代器為我們提供了統一的遍歷容器的方式: package com.jianshun; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.Itera
Iterator迭代器和增強for的注意事項
Iterator迭代器和增強for常見的注意事項 1. 如果沒有元素可迭代了,仍然呼叫next方法則會丟擲以下異常 java.util.NoSuchElementException:沒有元素異常。
Java Iterator(迭代器)的一般用法
一、迭代器(Iterator) 迭代器是一種設計模式,它是一個物件,它可以遍歷並選擇序列中的物件,而開發人員不需要了解該序列的底層結構。迭代器通常被稱為“輕量級”物件,因為建立它的代價小。 Java中的Iterator功能比較簡單,並且只能單向移動: (1) 使用方法iter
iterator迭代器 和 指標的 區別
原文:https://blog.csdn.net/gogokongyin/article/details/51206225 迭代器與指標的差別: 迭代器: (1)迭代器不是指標,是類模板,表現的像指標。他只是模擬了指標的
Java基礎複習筆記--Iterator和ListIterator 迭代器的使用(遍歷集合) Java類集框架——Iterator和ListIterator 迭代器的使用(遍歷集合)
Java類集框架——Iterator和ListIterator 迭代器的使用(遍歷集合) 學習目標: 掌握集合輸出的標準操作。 掌握Iterator介面的主要作用及使用注意事項。 掌握ListIterator與Iterator介面的關係及區別。
Java類集框架——Iterator和ListIterator 迭代器的使用(遍歷集合)
學習目標: 掌握集合輸出的標準操作。 掌握Iterator介面的主要作用及使用注意事項。 掌握ListIterator與Iterator介面的關係及區別。 掌握ListIterator介面的使用限制。
設計模式之Iterator(迭代器)的設計和使用
目的: 提供一種方法順序訪問或者遍歷一個聚合物件中的各個元素,且不希望暴露該物件的內部結構。 一、設計 1. 因為是聚合物件,所以設計的這個類應該使用類似list這樣的結構體儲存聚合物件; 2.迭代器應該是通用的,適用於各種型別的聚合物件,所以設計的類應該是模板型別; 3.
java-Iterator迭代器和增強for
一.Iterator迭代器概述 Collection集合元素的通用獲取方式:在取元素之前先要判斷集合中有沒有元素,如果有,就把這個元素取出來,繼續在判斷,如果還有就再取出出來。一直把集合中的所有元素全部取出。這種取出方式專業術語稱為迭代。 Iterator介面的常用方法如下: hasNext()方法:用
【設計模式】Iterator迭代器設計模式(容器和容器的遍歷)
在遍歷容器元素的時候,有很多初學者在疑惑,為什麼返回一個iterator我就能夠去遍歷這個容器了呢? 今天我們就來深入剖析一下迭代器iterator的設計模式(循序漸進的剖析,一定要耐心看完) iterator是"四人幫"所定義的23種設計模式之一(不太難,也不是非常重要,
iterator迭代器和指標的區別
迭代器與指標的差別: 迭代器: (1)迭代器不是指標,是類模板,表現的像指標。他只是模擬了指標的一些功能,通過過載了指標的一些操作符,->,*,++ --等封裝了指標,是一個“可遍歷STL( Standard Template Library)容器內全部
Iterator(迭代器)的一般用法 (轉)
迭代器(Iterator) 迭代器是一種設計模式,它是一個物件,它可以遍歷並選擇序列中的物件,而開發人員 不需要了解該序列的底層結構。迭代器通常被稱為“輕量級”物件,因為建立它的代價小。 Java中的Iterator功能比較簡單,並且只能單向移動: (1) 使用方法
Iterator和ListIterator迭代器
開發十年,就只剩下這套架構體系了! >>>
python3:深刻理解__iter__和__next__ 迭代器的原理(用自定義迭代器方法進行講解)
1.iter 的用法 咱都知道, list ,tuple,dict 都是可迭代物件,如果想讓他們轉化成迭代器. 我們可以這麼做,呼叫 inter()方法,它會返回一個迭代器. 例如: from collections import Iterable,Iterator a=[1,
關於set和map迭代器支援的運算
問題: 曾經想遍歷一個set遍歷。當時是這樣寫的: set<int>::iterator b = a.begin()+1 後來發現程式報錯。究其原因是,set迭代器不支援加減數操作。 查看了一下維基百科,下面是有關說明 1.所有迭代器都應該實現自增算符:iter
Java中Iterator(迭代器)實現原理
在Java中遍歷List時會用到Java提供的Iterator,Iterator十分好用,原因是: 迭代器是一種設計模式,它是一個物件,它可以遍歷並選擇序列中的物件,而開發人員不需要了解該序列的底層結構。迭代器通常被稱為“輕量級”物件,因為建立它的代價小。 Java中的Iterator功能比
路一步步走>> 設計模式十六:Iterator-迭代器
package com.test.DPs.XingWei.Iterator; /** * 行為型:Iterator-迭代器 外觀:作用面為 物件 * * 用途:提供一種方法順序訪問一個聚合物件中各個元素,而又不需要暴露該物件的內部表示。 * 理解:一是需要遍歷的物件,即聚集物件,