国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Map學習二之LinkedHash,HashTable,計算一個給定字符串的每個字符出現的次數

Rocture / 933人閱讀

package com.itheima.demo03.Map;

import java.util.HashMap;
import java.util.LinkedHashMap;

/*

java.util.LinkedHashMap entends HashMap
Map 接口的哈希表和鏈接列表實現,具有可預知的迭代順序。
底層原理:
    哈希表+鏈表(記錄元素的順序)

*/
public class Demo01LinkedHashMap {

public static void main(String[] args) {
    HashMap map = new HashMap<>();
    map.put("a","a");
    map.put("c","c");
    map.put("b","b");
    map.put("a","d");
    System.out.println(map);// key不允許重復,無序 {a=d, b=b, c=c}

    LinkedHashMap linked = new LinkedHashMap<>();
    linked.put("a","a");
    linked.put("c","c");
    linked.put("b","b");
    linked.put("a","d");
    System.out.println(linked);// key不允許重復,有序 {a=d, c=c, b=b}
}

}

package com.itheima.demo03.Map;

import java.util.HashMap;
import java.util.Hashtable;

/*

java.util.Hashtable集合 implements Map接口

Hashtable:底層也是一個哈希表,是一個線程安全的集合,是單線程集合,速度慢
HashMap:底層是一個哈希表,是一個線程不安全的集合,是多線程的集合,速度快

HashMap集合(之前學的所有的集合):可以存儲null值,null鍵
Hashtable集合,不能存儲null值,null鍵

Hashtable和Vector集合一樣,在jdk1.2版本之后被更先進的集合(HashMap,ArrayList)取代了
Hashtable的子類Properties依然活躍在歷史舞臺
Properties集合是一個唯一和IO流相結合的集合

*/
public class Demo02Hashtable {

public static void main(String[] args) {
    HashMap map = new HashMap<>();
    map.put(null,"a");
    map.put("b",null);
    map.put(null,null);
    System.out.println(map);//{null=null, b=null}

    Hashtable table = new Hashtable<>();
    //table.put(null,"a");//NullPointerException
    //table.put("b",null);//NullPointerException
    table.put(null,null);//NullPointerException
}

}

package com.itheima.demo03.Map;

import java.util.HashMap;
import java.util.Scanner;

/*

練習:
    計算一個字符串中每個字符出現次數

分析:
    1.使用Scanner獲取用戶輸入的字符串
    2.創建Map集合,key是字符串中的字符,value是字符的個數
    3.遍歷字符串,獲取每一個字符
    4.使用獲取到的字符,去Map集合判斷key是否存在
        key存在:
            通過字符(key),獲取value(字符個數)
            value++
            put(key,value)把新的value存儲到Map集合中
        key不存在:
            put(key,1)
    5.遍歷Map集合,輸出結果

*/
public class Demo03MapTest {

public static void main(String[] args) {
    //1.使用Scanner獲取用戶輸入的字符串
    Scanner sc = new Scanner(System.in);
    System.out.println("請輸入一個字符串:");
    String str = sc.next();
    //2.創建Map集合,key是字符串中的字符,value是字符的個數
    HashMap map = new HashMap<>();
    //3.遍歷字符串,獲取每一個字符
    //注意這里的char
    for(char c :str.toCharArray()){
        //4.使用獲取到的字符,去Map集合判斷key是否存在
        if(map.containsKey(c)){
            //key存在
            Integer value = map.get(c);
            value++;
            map.put(c,value);
        }else{
            //key不存在
            map.put(c,1);
        }
    }
    //5.遍歷Map集合,輸出結果
    //注意這里的Character
    for(Character key :map.keySet()){
        Integer value = map.get(key);
        System.out.println(key+"="+value);
    }
}

}

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/75302.html

相關文章

  • 【3y】從零單排學Redis【青銅】

    摘要:從代碼上看字典也是在哈希表基礎上再抽象了一層而已。在中,哈希表實際上就是數組鏈表的形式來構建的。后,在哈希沖突時是將新的節點添加到鏈表的表尾。在對哈希表進行擴展或者收縮操作時,過程并不是一次性地完成的,而是漸進式地完成的。 前言 只有光頭才能變強 showImg(https://segmentfault.com/img/remote/1460000016837794); 最近在學Red...

    lookSomeone 評論0 收藏0
  • Java編程基礎19——Map集合&斗地主案例

    摘要:使用默認隨機源對指定列表進行置換。將集合排序使用二分搜索法搜索指定列表,以獲得指定對象根據元素的自然順序,返回給定的最大元素。 1_Map集合概述和特點 A:Map接口概述 查看API可以知道: 將鍵映射到值的對象 一個映射不能包含重復的鍵 每個鍵最多只能映射到一個值 B:Map接口和Collection接口的不同 Map是雙列的,Collection是單列的 Map...

    ygyooo 評論0 收藏0
  • Java集合框架——Map接口

    摘要:第三階段常見對象的學習集合框架集合在實際需求中,我們常常會遇到這樣的問題,在諸多的數據中,通過其編號來尋找某一些信息,從而進行查看或者修改,例如通過學號查詢學生信息。面試題和的區別是單列集合的頂層接口,有子接口和。 第三階段 JAVA常見對象的學習 集合框架——Map集合 showImg(https://segmentfault.com/img/remote/1460000019683...

    princekin 評論0 收藏0
  • Javascript數組系列二之迭代方法1

    摘要:我們在數組系列一之棧與隊列中介紹了一些數組的用法。該方法接受兩個參數,一個是元素每一項執行的回調函數,一個是可選參數,回調函數運行時的值。今天我們就說這么多,希望你有所收獲,接下來還請繼續關注,我們繼續來說數組的其他一系列的方法。 我們在《avascript數組系列一之棧與隊列》中介紹了一些數組的用法。比如:數組如何表現的和「棧」一樣,用什么方法表現的和「隊列」一樣等等一些方法,因為 ...

    tylin 評論0 收藏0

發表評論

0條評論

Rocture

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<