Map集合
双列集合
一对一对的
key value数据类型可同可不同,key唯一
public V put(K key, V value) :
public V remove(Object key) :
containsKey
public V get(Object key)
public Set keySet() : Mapkey->Set集合中。
public Set<Map.Entry<K,V>> entrySet() : 获取到Map集合中所有的键值对对象的集合(Set集合)。
Entry
HashMap
无序集合
LinkedHashMap
有序
Hashtable
单线程
不能存null
子类properties还在用,与IO流结合
统计输入的字符个数
import java.util.HashMap;
import java.util.Scanner;
public class Demo02Var {
public static void main(String[] args) {
System.out.println("请输入一个字符串");
String line = new Scanner(System.in).nextLine();
findChar(line);
}
private static void findChar(String line) {
HashMap<Character, Integer> map = new HashMap<>();
for (int i = 0; i < line.length(); i++) {
char c = line.charAt(i);
if (!map.containsKey(c)) {
map.put(c, 1);
} else {
Integer count = map.get(c);
map.put(c, ++count);
}
}
System.out.println(map);
}
结果
请输入一个字符串
adjfhgg
{a=1, d=1, f=1, g=2, h=1, j=1}
java9
1:of()方法
添加多个
只是Map,List,Set这三个接口的静态方法,其父类接口和子类实现并没有这类方法,比如 HashSet,ArrayList等待; 返回的集合是不可变的
debug
添加断点(每个方法的第一行)
F8逐行执行
F7进入方法
shift+f8 跳出方法
f9跳到下个断点