第六章 集合(四)

6.5 Map接口

 6.5.1 Map接口简介

  Map接口是一种双列集合,它的每个元素都包含一个键对象Key和值对象Value,键和值对象之间存在一种对应关系,称为映射。

表6-4 Map接口的常用方法

方法声明功能描述
void out(Object key,Object Value)将指定的值与此映射中的指定键关联(可选操作)
Object get(Object key)返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回null
void clear()删除所有的键值对元素
V remove (Object key)根据键删除对应的值,返回被删除的值
int size()返回集合中的键值对的个数
boolean containsKey(Object key)如果此映射包含指定键的映射关系,则返回true
boolean containsValue(Object value)如果此映射将一个或多个键映射到指定值,则返回true
Set keySet()返回此映射中包含的键的Set视图
Collection<V>values()返回此映射中包含的值的Collection视图
Set<Map.Entry<K,V>>entrySet()返回此映射中包含的映射关系的Set视图

 6.5.2 HashMap集合

  HashMap集合是zhiMap接口的一个实现类,用于存储键值映射关系,但 HashMap集合没有重复的键且键值无序。

案例学习 6-14

import java.util.*;
public class Example14{
	public static void main(String[] args) {
		HashMap map=new HashMap();
		map.put("1", "张三");//创建Map对象
		map.put("2", "李四");//存储键和值
		map.put("3", "王五");
		System.out.println("1:"+map.get("1"));//根据键获取值
		System.out.println("2:"+map.get("2"));
		System.out.println("3:"+map.get("3"));
	}
}

 运行结果→

1:张三

2:李四

3:王五

6.5.3 TreeMap集合

  为了对集合中的元素的键值进行排序,Map接口提供了另一个可以对集合中元素键值进行排序的类TreeMap。

案例学习 6-19

import java.util.Iterator;
import java.util.Set;
import java.util.TreeMap;
public class Example19{
	public static void main(String[] args) {
		TreeMap map=new TreeMap();//创建Map集合
		map.put(3,"李四");//存储键和值
		map.put(2,"王五");
		map.put(4,"赵六");
		map.put(3,"张三");
		Set keySet=map.keySet();
		Iterator it=keySet.iterator();
		while (it.hasNext()) {
			Object key=it.next();
			Object value=map.get(key);//获取每个键所对应的值
			System.out.println(key+":"+value);
		}
	}
}

   运行结果→

2:王五

3:张三

4:赵六

  TreeMap集合之所以可以对添加的元素的键值进行排序,其实现同TreeMap一样,TreeMap的排序也分为自然排序和比较排序两种。

案例学习 6-20

import java.awt.font.TextMeasurer;
import java.util.*;
class Student{
	private String name() ;
	private int 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;
	}
	public Student(String name,int age) {
		super();
		this.name=name;
		this.age=age;
	}
	@Override
	public String toString() {
		return"student[name="+name+",age="+age+"]";
	}
}
public class Example20{
	public static void main(String[] args) {
		TreeMap tm=new TreeMap(new Comparator<Student>() {
			@Override
			public int compare(Student s1,Student s2) {
				int num=s1.getName().compareTo(s2.getName());//按照姓名比较
				return num==0 ? num:s1.getAge()-s2.getAge();
			}
		});
		tm.put(new Student("张三", 23),"北京");
		tm.put(new Student("李四", 13),"上海");
		tm.put(new Student("王五", 43),"深圳");
		tm.put(new Student("赵六", 33),"广州");
		Set keySet=tm.keySet();
		Iterator it=keySet.iterator();
		while(it.hasNext()) {
			Object key=it.next();
			Object value=tm.get(key);//获取每个键所对应的值
			System.out.println(key+":"+value);
		}
	}
}

 运行结果→

Student [ name=李四,age=13]:上海

Student [ name=张三,age=23]:北京

Student [ name=王五,age=33]:广州

Student [ name=赵六,age=43]:深圳

 6.5.4 Propertie集合

Map接口中还有一个实现类Hashtable,它与HashMap十分相似,区别在于Hashtable是线程安全的,Hashtable存取元素时速度很慢,目前基本被HashMap类所取代,但Hashtable类的子类Propertie在实际应用中非常重要。

案例学习 6-21

import java.util.*;
public class Example21{
	public static void main(String[] args) {
		Properties p=new Properties();//创建properties对象
		p.setProperty("Backgroup-color", "red");
		p.setProperty("Font-size", "14px");
		p.setProperty("Language", "chinese");
		Enumeration names=p.propertyNames();//获取Enumeration对象所有键的枚举
		while (names.hasMoreElements()) {//循环遍历所有的键
			String key=(String)names.nextElement();
			String value=p.getProperty(key);//获取对应键的值
			System.out.println(key+"="+value);
		}
	}
}

 运行结果→

Language=Chinese

Backgroup-color=red

Font-size=14px

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据题目所提到的内容,我们来回答微机原理周荷琴第六版课后答案PDF第章的相关问题。由于没有提供具体的问题或者章节名称,我们将就第章的一般内容进行简要回答。 第章主要讨论了微处理器的体系结构和功能。它包括微处理器的基本概念、数据通路、控制器和寄存器等内容。 微处理器是现代计算机中最重要的组成部分之一。它是一个集成电路芯片,负责执行计算机的指令和处理数据。微处理器由控制器、算术逻辑单元(ALU)和寄存器组成。 数据通路是微处理器中负责数据传输的组件。它由数据总线、地址总线和控制总线构成。数据总线用于传输数据,地址总线用于传输内存地址,而控制总线用于传输控制信号。 控制器是微处理器中的主要组成部分,它负责解码和执行指令。控制器接收来自存储器的指令,然后根据指令的类型和操作码来控制其他部件的操作。 寄存器是微处理器中用于存储数据的高速存储区域。它们用于暂时保存指令、数据和中间结果。常见的寄存器有累加器、指令寄存器、程序计数器等。 在第章中,还会涉及微处理器的指令集、指令周期和时序等重要概念。指令集是微处理器能够执行的指令的集合。指令周期是完成一个指令所需的时间,而时序则涉及指令周期中的各个阶段和时钟信号的控制。 以上是对微机原理周荷琴第六版课后答案PDF第章内容的简要回答。具体的问题和详细内容可能会有所不同,如果需要更具体的答案,请提供更详细的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值