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树映射取出对象的方式的更多相关文章

  1. [19/03/26-星期二] 容器_Map(图、键值对、映射)接口之HashMap(散列映射)&TreeMap(树映射)

    一.概念&方法 现实生活中,我们经常需要成对存储某些信息.比如,我们使用的微信,一个手机号只能对应一个微信账户,这就是一种成对存储的关系. Map就是用来存储“键(key)-值(value) ...

  2. Map集合的遍历方式以及TreeMap集合保存自定义对象实现比较的Comparable和Comparator两种方式

    Map集合的特点 1.Map集合中保存的都是键值对,键和值是一一对应的 2.一个映射不能包含重复的值 3.每个键最多只能映射到一个值上 Map接口和Collection接口的不同 Map是双列集合的根 ...

  3. 分享公司DAO层数据库结果映射到对象的方法

    主题 前面写过一篇文章,分享了公司是怎么动态封装SQL查询条件的(http://www.cnblogs.com/abcwt112/p/5874401.html). 里面提到数据库查询结果二维数组最后是 ...

  4. 以对象的方式来访问xml数据表(三)

    怎样以对象的方式来访问xml数据表? 在讲如何具体实现(二)中所说的专门用于访问xml文件的动态链接库之前,我们先来看看这个动态链接库具体要实现什么功能. 动态链接库IXmlDB.dll的功能: 1. ...

  5. 以对象的方式来访问xml数据表(二)

    为什么要以对象的方式来访问xml数据表? 还记得,自己是在一次完成师兄布置的任务时接触到了xml,那时候需要用xml来作为数据文件,保存一个简单的图书管理系统的数据.于是就知道了,可以用xml文件来保 ...

  6. ORM映射(对象关系映射)

    ORM映射(对象关系映射)分创建表和操作表两个部分创建单表创建关联表(foreignKey) 一对一 一对多(重点) 多对多(重点) 创建表后加str方法把打印的地址转换成对应字符表的操作(增删改查) ...

  7. JavaScript---Dom树详解,节点查找方式(直接(id,class,tag),间接(父子,兄弟)),节点操作(增删改查,赋值节点,替换节点,),节点属性操作(增删改查),节点文本的操作(增删改查),事件

    JavaScript---Dom树详解,节点查找方式(直接(id,class,tag),间接(父子,兄弟)),节点操作(增删改查,赋值节点,替换节点,),节点属性操作(增删改查),节点文本的操作(增删 ...

  8. springmvc url处理映射的三种方式:

    一.SpringMVC简介 SpringMVC是一种基于Spring实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,使用了MVC架构模式的思想,将web层进行职责解耦,并管理应用所需对象 ...

  9. ASP.NET Core搭建多层网站架构【8.2-使用AutoMapper映射实体对象】

    2020/01/29, ASP.NET Core 3.1, VS2019, AutoMapper.Extensions.Microsoft.DependencyInjection 7.0.0 摘要:基 ...

随机推荐

  1. [NOIp2012] luogu P1083 借教室

    该*的英语,这么长还要背. 题目描述 你有 nnn 个数 ai{a_i}ai​,mmm 次操作,每次操作将 [l,r][l,r][l,r] 区间的每个数减去 ccc.要求任何时刻 ∀x∈[1,n]\f ...

  2. vue 页面滚动到原位置

    哈哈哈,昨天登QQ的时候,意外发现有人看了我写的博客,居然还加了我,这就激起了我内心的小波澜啊 公司最近在做电商,用的前端框架依然是VUE 矩MAX(微信公众号)可以搜的到哦,安卓商店或苹果AppSt ...

  3. shell基本运算符(五)

    shell支持多种运算符,包括:算术运算符.关系运算符.布尔运算符.字符串运算符.文件测试运算符. 注意:条件表达式要放在方括号之间,并且要有空格,eg:[$a==$b] 是错误的,必须写成 [ $a ...

  4. 学习python3高阶函数笔记和demo

    python的高阶函数的定义是:一个函数接收另一个函数作为参数,这种函数就称之为高阶函数 举一个最简单的例子: def text(a,b,c): return c(a)+c(b) print( tex ...

  5. Lab_1:练习一——理解通过make生成执行文件的过程

    参考网站: https://www.cnblogs.com/chaunceyctx/p/7188779.html https://cloud.tencent.com/developer/article ...

  6. 08 python学习笔记-随机生成大乐透号码(八)

    1 #产生大乐透号码 2 #前区 1-32,5 后区 1-12,2 3 #1.前区从1-32中级取5个,后区再从1-12里面取2个 4 #01 02 03 04 5 def dlt(): #生成随机大 ...

  7. kmp算法,求重复字符串

    public class Demo { public static void main(String[] args) { String s1 = "ADBCFHABESCACDABCDABC ...

  8. 变量 + 数据类型(数字 + 字符串)(day03整理)

    目录 一.上节课回顾 四 编程语言分类 (一) 机器语言 (二)汇编语言 (三) 高级语言 (四) 网络瓶颈效应 五.执行python程序两种方式 (一) 交互式(jupytre) (二) 命令行式( ...

  9. JVM(4) 类文件结构

    一.实现“平台无关性” 字节码(ByteCode)存储格式和虚拟机是实现语言无关性的基础.Java虚拟机不和包括Java在内的任何语言绑定,它只与“Clas”文件这种特定的二进制文件格式所关联,Cla ...

  10. 设计模式(十八)Memento模式

    在使用面向对象编程的方式实现撤销功能时,需要事先保存实例的相关状态信息.然后,在撤销时,还需要根据所保存的信息将实例恢复至原来的状态. 要想恢复实例,需要一个可以自由访问实例内部结构的权限.但是,如果 ...