Java从零开始学二十三(集合Map接口)
一、Map接口
二、常用方法
|
No.
|
方法或类
|
类型
|
描述
|
|
1
|
public void clear()
|
普通
|
清空Map集合
|
|
2
|
public boolean containsKey(Object key)
|
普通
|
判断指定的key是否存在
|
|
3
|
public boolean containsValue(Object value)
|
普通
|
判断指定的value是否存在
|
|
4
|
public Set<Map.Entry<K,V>> entrySet()
|
普通
|
将Map对象变为Set集合
|
|
5
|
public boolean equals(Object o)
|
普通
|
对象比较
|
|
6
|
public V get(Object key)
|
普通
|
根据key取得value
|
|
7
|
public int hashCode()
|
普通
|
返回哈希码
|
|
8
|
public boolean isEmpty()
|
普通
|
判断集合是否为空
|
|
9
|
public Set<K> keySet()
|
普通
|
取得所有的key
|
|
10
|
public V put(K key, V value)
|
普通
|
向集合中加入元素
|
|
11
|
public void putAll(Map<? extends K,? extends V> t)
|
普通
|
将一个Map集合中的内容加入到另一个Map
|
|
12
|
public V remove(Object key)
|
普通
|
根据key删除value
|
|
13
|
public int size()
|
普通
|
取出集合的长度
|
|
14
|
public Collection<V> values()
|
普通
|
取出全部的value
|

三、例子
package com.pb.demo2;
public class Person {
private String name;
private int age;
public Person() {
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
package com.pb.demo2; import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set; import com.pb.demo1.Person; public class MapTest { public static void main(String[] args) {
/*
* 1.创建多个Person对象并赋值
*/
Person p1 = new Person("张三",21);
Person p2 = new Person("李四",22);
Person p3 = new Person("王五",23);
Person p4 = new Person("赵六",24);
Person p5 = new Person("钱七",25);
//2.创建保存键--值对的集合对象
Map<String,Person> perMap=new HashMap<String,Person>();
//3.使用put将英文名与对象按照键-值对的方式在座存储在HashMap中
perMap.put("Denny", p1);
perMap.put("Jony", p2);
perMap.put("Rose", p3);
perMap.put("Kitter", p4);
perMap.put("Boby", p5);
//4.打印键集
System.out.println("++++++++打印键集+++++++++");
System.out.println(perMap.keySet());
//5.打印值集
System.out.println("=========打印值集=======");
System.out.println(perMap.values());
//6.打印键-值对集合
System.out.println("=========打印键-值对集合=======");
System.out.println(perMap);
//7.判断是否存在"Denny"这个键
if(perMap.containsKey("Denny")){
//8.如果存在,根据键获取相应的值
Person p =perMap.get("Denny");
System.out.println("姓名: "+p.getName());
System.out.println("年龄: "+p.getAge());
}
System.out.println("=======遍历HashMap=======");
//遍历HashMap
//首先遍历key集合,keySet方法返回的是Set集合
Set<String> keySet=perMap.keySet();
Iterator<String> iterator=keySet.iterator();
while(iterator.hasNext()){
String key=iterator.next();
System.out.print("英文名:"+key);
//根据key值取出值
Person p =perMap.get(key);
System.out.print("\t姓名: "+p.getName());
System.out.println("\t年龄: "+p.getAge());
} } }
Java从零开始学二十三(集合Map接口)的更多相关文章
- Java从零开始学二十一(集合List接口)
一.List接口 List是Collection的子接口,里面可以保存各个重复的内容,此接口的定义如下: public interface List<E> extends Collecti ...
- Java从零开始学二十(集合简介)
一.为什么需要集合框架 数组的长度是固定的,但是如果写程序时并不知道程序运行时会需要多少对象.或者需要更复杂的方式存储对象,---那么,可以使用JAVA集合框架,来解决这类问题 二.集合框架主要接口 ...
- Java从零开始学二十二(集合Set接口)
一.Set接口的定义 Set接口也是Collection接口的子接口,但是与Collection或List接口不同的是,Set接口中不能加入重复的元素 Set接口的主要方法与Collection是一致 ...
- Java从零开始学二十四(集合工具类Collections)
一.Collections简介 在集合的应用开发中,集合的若干接口和若干个子类是最最常使用的,但是在JDK中提供了一种集合操作的工具类 —— Collections,可以直接通过此类方便的操作集合 二 ...
- Java从零开始学十八(抽象类和接口)
一.什么是抽象类和接口 抽象类.接口与类是一个层次的概念,是java中极其重要的概念. 抽象类是从多个类中抽象出来的公共模板,提供子类均具有的功能. 接口是从多个类中抽象出来的规范,体现的是规范和实现 ...
- Java从零开始学四十三(DOM4j解析XML)
一.创建XML // 建立XML public static void gernatorXML() { // 创建Document对象 Document doc = DocumentHelper.cr ...
- Java从零开始学三十三(JAVA IO- File类)
一.简述 在整个io包中,唯一表示与文件本身有关的类就是File类.使用File类可以进行创建或删除文件等常用操作.要想使用File类,则首先要观察File类的构造方法,此类的常用构造方法如下所示: ...
- Java从零开始学二十九(大数操作(BigIntger、BigDecimal)
一.BigInteger 如果在操作的时候一个整型数据已经超过了整数的最大类型长度long的话,则此数据就无法装入,所以,此时要使用BigInteger类进行操作. 不可变的任意精度的整数.所有操作中 ...
- Java从零开始学二十八(Math类和Random类)
一.Math概述 提供了常用的数学运算方法和两个静态常量E(自然对数的底数)和PI(圆周率) 二.常用方法 package com.pb.demo1; public class MathTest { ...
随机推荐
- 原型设计工具 Axure
ahjesus Axure RP 7.0注册码 ahjesus Axure RP 7.0注册码 用户名:axureuser 序列号:8wFfIX7a8hHq6yAy6T8zCz5R0NBKeVxo9I ...
- Notepad++源代码阅读——窗口元素组织与布局
1.1 前言 这两天在看notepad++ 1.0版本的源代码.看了许久终于把程序的窗口之间的关系搞清楚了现在把其组织的要点写于此,希望对大家有所帮助. 1.2 窗口元素之间的关系 Notepad++ ...
- Maven使用(转)
说明:文章转自http://www.cnblogs.com/JeffreySun/archive/2013/03/14/2960573.html 创建project 先去官方网站下载一个最新版本htt ...
- Windows Azure 系列-- Azure Queue的操作
- Storage Account. 和之前介绍的Azure Table和AzureBlob一样.你须要一个StorageAccount,仅仅须要创建1次AzureStorageAccount就好了, ...
- Xsolla和Crytek合作,对游戏战争前线推出全新支付方式
新闻稿: Sherman Oaks, 加州 (美国) –2014年 10月 15日-计费提供商Xsolla今日正式宣布.和著名游戏开发商以及发行商 Crytek.这次合作意味着玩家能够期待大量的游戏内 ...
- 6. python 字符串格式化表达式
6. python 字符串格式化表达式 字符串格式化允许在一个单个的步骤中对一个字符串执行多个特定类型的替换 特别是给用户提示的时候,格式化非常方便 实现方法: 1.格式化表达式,类似于c语言的pri ...
- springboot2.X 在项目启动后执行一段自定义代码
场景: 项目需要在项目启动后从数据库初始化一些数据进入redis , 但是没有很适合 的监听器去实现 , 监听 老是在dao初始化之前触发. 解决方法:自定义类实现 ApplicationRunner ...
- Rete算法
RETE算法介绍一. rete概述Rete算法是一种前向规则快速匹配算法,其匹配速度与规则数目无关.Rete是拉丁文,对应英文是net,也就是网络.Rete算法通过形成一个rete网络进行模式匹配,利 ...
- kafka-manager:kafak的管理界面的安装和使用
下载打包 release下载:https://github.com/yahoo/kafka-manager/releases 源码位置:https://github.com/yahoo/kafka-m ...
- 莫比乌斯函数&莫比乌斯反演
莫比乌斯函数:http://wenku.baidu.com/view/fbec9c63ba1aa8114431d9ac.html Orz PoPoQQQ