TreeMap树映射取出对象的方式
1.直接获取该TreeMap集合中的关系:
entrySet()
Map接口中的方法,返回值类型是该集合中的各个关系;返回值类型是:Set类型的Map.EntrySet类型;然后在通过Set集合中特有的元素取出方式:将集合中的各个元素迭代取出;
例子:
import java.util.*;
class MapDemo{
pulbic static void main(String args[]){
TreeMap<String,String> tr=new TreeMap<String,String>();
tr.put("asdfda","asdfd");
tr.put("asdfda","asdfd");
tr.put("asdfda","asdfd");
tr.put("asdfda","asdfd");
Set<Map.EntrySet<String,String>> entryset=tr.entrySet();
//将TreeSet中的各个映射关系通过他自身提供的方法(entrySet())转存到Set集合中,目的是为了使用Set集合中迭代器取出方法
Iterator<Map.Entry<String,String>> it=entryset.iterator();//新建一个迭代器,准备遍历整个Set<Map.EntrySet<String,String>>集合;
while(it.hasNext()){
Map.Entry<String,String> en=it.next();//
System.out.println(en.getKey()+":"+en.getValue());//在迭代每一个元素的同时,同时调用Map.Entry中的方法分别获取键和值
}
}
}
2.首先获得TreeSet集合中的所有的建(keySet()方法),然后在通过每个建获得各个建所对应的值
import java.util.*;
class MapDemo4{
pulbic static void main(String args[]){
TreeMap<String,String> tr=new TreeMap<String,String>();
tr.put("luwenxiang0","123");
tr.put("luwenxiang1","123");
tr.put("luwenxiang2","123");
tr.put("luwenxiang3","123");
tr.put("luwenxiang4","123");
Set<String> arr=tr.keySet();
Iterator<String> it=arr.iterator();
while(it.hasNext()){
String str=it.next();
System.out.println(str+"::"+tr.get(str));
}
}
}
3.将map转化为集合
package com.Champter15; import java.util.Collection;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeMap; class UDiskPrice implements Comparable<UDiskPrice>{
int price;
public UDiskPrice(int price){
this.price = price;
}
public int compareTo(UDiskPrice uDiskPrice){
if(this.price-uDiskPrice.price==0) return 1;
else return this.price-uDiskPrice.price;
}
} class UDiskCapacity implements Comparable<UDiskCapacity>{
int capacity;
public UDiskCapacity(int capacity){
this.capacity = capacity;
}
public int compareTo(UDiskCapacity uDiskCapacity){
if(this.capacity-uDiskCapacity.capacity==0) return 1;
else return this.capacity-uDiskCapacity.capacity;
}
} public class Work3_3 {
public static void main(String[] args) {
TreeMap<UDiskPrice,UDiskCapacity> uDiskTreeMap = new TreeMap<>();
uDiskTreeMap.put(new UDiskPrice(22),new UDiskCapacity(16));
uDiskTreeMap.put(new UDiskPrice(11),new UDiskCapacity(8));
uDiskTreeMap.put(new UDiskPrice(33),new UDiskCapacity(64));
uDiskTreeMap.put(new UDiskPrice(55),new UDiskCapacity(256));
uDiskTreeMap.put(new UDiskPrice(44),new UDiskCapacity(128)); Collection<UDiskCapacity> collection = uDiskTreeMap.values();//由于map没有迭代器,将映射的值存到集合中
Iterator<UDiskCapacity> iterator = collection.iterator();//使用集合才自带的迭代器访问值,值的类型为UDiskCapacity
while (iterator.hasNext()){
UDiskCapacity uDiskCapacity = iterator.next();//使用UDiskCapacity类型声明的对象变量接收
System.out.println("按照价格升序的U盘容量:"+uDiskCapacity.capacity);
}
}
TreeMap树映射取出对象的方式的更多相关文章
- [19/03/26-星期二] 容器_Map(图、键值对、映射)接口之HashMap(散列映射)&TreeMap(树映射)
一.概念&方法 现实生活中,我们经常需要成对存储某些信息.比如,我们使用的微信,一个手机号只能对应一个微信账户,这就是一种成对存储的关系. Map就是用来存储“键(key)-值(value) ...
- Map集合的遍历方式以及TreeMap集合保存自定义对象实现比较的Comparable和Comparator两种方式
Map集合的特点 1.Map集合中保存的都是键值对,键和值是一一对应的 2.一个映射不能包含重复的值 3.每个键最多只能映射到一个值上 Map接口和Collection接口的不同 Map是双列集合的根 ...
- 分享公司DAO层数据库结果映射到对象的方法
主题 前面写过一篇文章,分享了公司是怎么动态封装SQL查询条件的(http://www.cnblogs.com/abcwt112/p/5874401.html). 里面提到数据库查询结果二维数组最后是 ...
- 以对象的方式来访问xml数据表(三)
怎样以对象的方式来访问xml数据表? 在讲如何具体实现(二)中所说的专门用于访问xml文件的动态链接库之前,我们先来看看这个动态链接库具体要实现什么功能. 动态链接库IXmlDB.dll的功能: 1. ...
- 以对象的方式来访问xml数据表(二)
为什么要以对象的方式来访问xml数据表? 还记得,自己是在一次完成师兄布置的任务时接触到了xml,那时候需要用xml来作为数据文件,保存一个简单的图书管理系统的数据.于是就知道了,可以用xml文件来保 ...
- ORM映射(对象关系映射)
ORM映射(对象关系映射)分创建表和操作表两个部分创建单表创建关联表(foreignKey) 一对一 一对多(重点) 多对多(重点) 创建表后加str方法把打印的地址转换成对应字符表的操作(增删改查) ...
- JavaScript---Dom树详解,节点查找方式(直接(id,class,tag),间接(父子,兄弟)),节点操作(增删改查,赋值节点,替换节点,),节点属性操作(增删改查),节点文本的操作(增删改查),事件
JavaScript---Dom树详解,节点查找方式(直接(id,class,tag),间接(父子,兄弟)),节点操作(增删改查,赋值节点,替换节点,),节点属性操作(增删改查),节点文本的操作(增删 ...
- springmvc url处理映射的三种方式:
一.SpringMVC简介 SpringMVC是一种基于Spring实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,使用了MVC架构模式的思想,将web层进行职责解耦,并管理应用所需对象 ...
- ASP.NET Core搭建多层网站架构【8.2-使用AutoMapper映射实体对象】
2020/01/29, ASP.NET Core 3.1, VS2019, AutoMapper.Extensions.Microsoft.DependencyInjection 7.0.0 摘要:基 ...
随机推荐
- opencv::图像上采样和降采样
图像金字塔概念 . 我们在图像处理中常常会调整图像大小,最常见的就是放大(zoom in)和缩小(zoom out),尽管几何变换也可以实现图像放大和缩小,但是这里我们介绍图像金字塔 . 一个图像金字 ...
- FormData交互以及Node multiparty插件的使用
一.FormData FormData是ajax2.0里面添加的新特性. FormData的主要用途有两个: (1).将form表单元素的name与value进行组合,实现表单数据的序列化,从而减少表 ...
- day07整理(内置方法\循环判断)
目录 一.上节课回顾 (一)if判断 1.单分支结构 2.双分支结构 3.多分支结构 (二)for循环 1.for + break 2.for + continue 3.for循环嵌套 (三)robu ...
- Dockerfile 定制镜像
从上一篇文章中我们可以了解到,镜像的定制实际上就是定制每一层所添加的配置.文件等信息,但是命令毕竟只是命令,每次定制都得去重复执行这个命令,而且还不够直观,如果我们可以把每一层修改.安装.构建.操作的 ...
- Java 读取properties 配置文件的几种方式
基于ClassLoder读取配置文件 Properties properties = new Properties(); // 使用ClassLoader加载properties配置文件生成对应的输入 ...
- Spring Boot项目中如何定制servlet-filters
本文首发于个人网站:Spring Boot项目中如何定制servlet-filters 在实际的web应用程序中,经常需要在请求(request)外面增加包装用于:记录调用日志.排除有XSS威胁的字符 ...
- ArcGIS Engine空间分析之拓扑分析的实现
简单介绍: 拓扑学是一门研究几何图形位置关系的科学. GIS所关注的拓扑主要集中在拓扑关系——存在于地理实体间的拓扑关系. 拓扑关系在GIS中起着描述两个地理实体的相对空间位置的重要作用.它是GIS空 ...
- WEB安全的历史
exp === exploit 漏洞利用代码 中国 黑客发展的 几个阶段 启蒙时代 ,黄金时代 ,黑暗时代 启蒙时代 -- 大致在 20世纪 19年代 中国互联网刚起步 一些青年收 ...
- 学习笔记26_MVC前台强类型参数
*一般在MVC中,aspx后台要往前台传递参数,使用ViewData["Key"] = obj; 前台就要 <%=(ViewData["key"] as ...
- Linux下修改文件权限,所有权
Linux与Unix是多用户操作系统,所以文件的权限与所有权的实现就显得很有必要:每个文件主要与三组权限打交道,分别是用户(user),用户组(group),其他用户(other) 用户(u)是文件的 ...