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. 懒要懒到底,能自动的就不要手动,Hibernate正向工程完成Oracle数据库到MySql数据库转换(含字段转换、注释)

    需求描述 需求是这样的:因为我们目前的一个老项目是Oracle数据库的,这个库呢,数据库是没有注释的,而且字段名和表名都是大写风格,比如 在代码层面的po呢,以前也是没有任何注释的,但是经过这些年,大 ...

  2. java 链接mysql

    import java.sql.*; public class ConnectSql { static final String JDBC_DRIVER = "com.mysql.jdbc. ...

  3. 10个让你受益匪浅的css使用技巧

    1. Safari 3D变换会忽略z-index的层级 在Safari浏览器下(此Safari浏览器包括iOS的Safari,iPhone上的微信浏览器,以及Mac OS X系统的Safari浏览器) ...

  4. MD5收集整理

    MD5如何生成的 百度百科 生成MD5 1.通过摘要生成MD5 MessageDigest md = MessageDigest.getInstance("MD5"); md.up ...

  5. 解决IDEA下SpringBoot启动没有Run Dashboard并找回

    前两天看到别人SpringBoot启动服务,启动器是长这样的 而我的呢?是这样的 Run Dashboard 它是一个代替Run窗口的一个更好清晰简洁的一个启动器. 如果我们需要启动多个窗口时,Run ...

  6. Java基础(十九)集合(1)集合中主要接口和实现类

    1.Java集合框架为不同类型的集合定义了大量接口 其中,集合有两个基本接口:Collection和Map. 2.各接口的主要特征如下 (1)Collection接口:是List接口.Set接口和Qu ...

  7. 数据结构(三十三)最小生成树(Prim、Kruskal)

    一.最小生成树的定义 一个连通图的生成树是一个极小的连通子图,它含有图中全部的顶点,但只有足以构成一棵树的n-1条边. 在一个网的所有生成树中,权值总和最小的生成树称为最小代价生成树(Minimum ...

  8. HTML5+CSS:02用户注册表单

            新的学期已开始接近两个月了,还记得是在国庆节那几天申请的博客账号,可过了一个月都还没开始写博客,(>_<)有点小偷懒了,不过,学习还是不能落下的,今写一个有点实践运用的关于 ...

  9. SpringCloud之Hystrix-Dashboard监控,以及踩的坑...

    前言: 最近刚入职,公司使用了SpringCloud,之前有了解过SpringCloud,但是长时间不去搭建不去使用很容易就忘了,因此空闲时间重新复习一下SpringCloud.但是之前开的Sprin ...

  10. Mybaits 源码解析 (八)----- 全网最详细,没有之一:结果集 ResultSet 自动映射成实体类对象(上篇)

    上一篇文章我们已经将SQL发送到了数据库,并返回了ResultSet,接下来就是将结果集 ResultSet 自动映射成实体类对象.这样使用者就无需再手动操作结果集,并将数据填充到实体类对象中.这可大 ...