1. 程式人生 > >HashMap和Iterator迭代器的小用法

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中插入和刪除元素。


相關推薦

HashMapIterator用法

1.先貼出求解任意輸入的一字串中各字元的個數Scanner scan = new Scanner(System.in); String inputStr = scan.nextLine(); char[] inputArr = inputStr.toCharArray();

List集合ListIteratorIterator區別與用法

ListIterator是Iterator的子介面,是List集合特有的迭代輸出介面,它可以實現在迭代過程中對元素的增刪改查。 在使用Iterator迭代過程中,不要使用集合操作元素,容易出現異常

#Java集合--ListIteratorIterator的聯絡與區別

List的listIterator()方法會返回一個ListIterator迭代器物件,該迭代器的功能和Iterator迭代器基本相同,基本使用如下所示: ListIterator<String> iterator = list.listIterator(); for(;i

enumeratorIterator淺述

怎麼突然想起這個主題了呢?是在瀏覽關於HashMap和HashTable的相關效能的時候,瞭解到他們的迭代機制不同,就深入探討一下。HashMap和HashTable 主要區別是:執行緒安全、速度、迭代器;前兩個區別之前的部落格描述過,這裡只討論迭代器: 上原始碼: Enumer

iterator的使用_遍歷ListSetMap

迭代器為我們提供了統一的遍歷容器的方式: 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基礎複習筆記--IteratorListIterator 的使用(遍歷集合) Java類集框架——IteratorListIterator 的使用(遍歷集合)

Java類集框架——Iterator和ListIterator 迭代器的使用(遍歷集合) 學習目標: 掌握集合輸出的標準操作。 掌握Iterator介面的主要作用及使用注意事項。 掌握ListIterator與Iterator介面的關係及區別。

Java類集框架——IteratorListIterator 的使用(遍歷集合)

學習目標: 掌握集合輸出的標準操作。 掌握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) 使用方法

IteratorListIterator

開發十年,就只剩下這套架構體系了! >>>   

python3:深刻理解__iter____next__ 的原理(用自定義方法進行講解)

1.iter 的用法 咱都知道, list ,tuple,dict 都是可迭代物件,如果想讓他們轉化成迭代器. 我們可以這麼做,呼叫 inter()方法,它會返回一個迭代器. 例如: from collections import Iterable,Iterator a=[1,

關於setmap支援的運算

問題: 曾經想遍歷一個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-迭代器 外觀:作用面為 物件 * * 用途:提供一種方法順序訪問一個聚合物件中各個元素,而又不需要暴露該物件的內部表示。 * 理解:一是需要遍歷的物件,即聚集物件,