JAVA-初步认识-常用对象API(集合框架-Map集合-存储自定义对象)

一.

接下来想对学生进行一个排序,应该搞一搞比较方法。通过观察程序的另一部分,学生是具备比较方法的,是按照年龄排的。

现在要对键进行排序,(我是觉着谁叫键,谁叫值是无所谓的,只是位置决定的),将前面的hashmap改成treemap,

将刚才遍历采用的是keyset,现在准备采用entryset。

结果进行了排序,按年龄排的序。

如果想按姓名排序,就要搞个比较器。是有的,

存的是student,比较的是person。这个比较器,person的集合能用,student,worker的集合也能用。

肯定是,既能接收本类型,也能接收父类型。存的是学生,用学生可以,用学生的父类接收也可以。

不看treemap集合的API,也知道它里面有一个比较器。

稍微修改一下,就按照字母排序了。学完treeset,再学treemap就很简单了。

原文地址:https://www.cnblogs.com/wsw-bk/p/8321903.html

时间: 2024-10-08 23:45:15

JAVA-初步认识-常用对象API(集合框架-Map集合-存储自定义对象)的相关文章

java集合框架--Map集合

1.Map集合的概述 Map集合是将键映射到值的对象.一个映射不能包含重复的键.每个键最多只能映射到一个值. 2.Map接口和Collection接口的不同? Map集合存储元素是成对出现的,Collection集合存储元素是单独出现的. Map集合的键是唯一的,值是可重复的. Collection集合的子接口Set是唯一的,List是可重复的. Map集合的数据结构值针对键有效,和值无关,而Collection接口的数据结构是针对元素有效. 3.Map集合示例及功能 package cn; i

JAVA-初步认识-常用对象API(集合框架-Map集合常见子类对象)

一. 说完了map集合,顺便说些小东西. map集合常用的子类: hashtable研究的就是数据结构,哈希在1.0就出来了,那是还没有table.当时,单列集合只有vector,双列集合就是hashtable.内部结构就是哈希表.是同步的.hashmap和hashtable有区别么,效率高低不再多说.下图是hashmap的API注解,是不同步的. hashtable,它不支持空键和空值.面试的时候它们之间的区别. 上面截图的体系和一个集合体系很像,就是set集合,hashset和treeset

JAVA-初步认识-常用对象API(集合框架-Map集合-hashmap存储自定义对象)

一. 把前面讲到的三个集合使用一下. 交代一下需求,学生是键,归属地是值.到底归属地是不是String,有待商榷.如果归属地比较简单,用天津,上海....这些就是字符串.如果归属地比较复杂,北京的海淀的...,建议把归属地封装成对象.为什么?归属地封装成对象以后,它里面包含着省字段,市字段,区字段.....这些字段你想单独地去获取,归属地对象自己最清楚,所以这个时候要进行封装.记住,一旦事物变复杂了,封装对象.将复杂事物简单化.如果就是简答的,那就直接字符串上,不用封装对象. 在第一个例子中,演

JAVA-初步认识-常用对象API(集合框架-Map集合特点常用方法)

一. 现在重新看一下集合的构成图,左侧三分之二的部分已经全部讲述完了,还剩右侧的一个集合map. map和collection是并列的,在集合中都属于顶层接口,为什么是接口?因为是虚线.map集合很重要,现在来学习一下,使用频率很高. 学习map集合,先了解其基本特点.如果map集合和collection一样的,那就没意思了,所以map和collection有什么区别呢? collection中一次添加一个,而map中一次添加一对,同时进行. 还有其它特点么?我们发现,这里map后面是K和V,以

Java基础知识强化之集合框架笔记45:Set集合之TreeSet存储自定义对象并遍历练习1(自然排序)

1. TreeSet存储自定义对象并遍历练习1(自然排序): (1)Student.java: 1 package cn.itcast_05; 2 3 /* 4 * 如果一个类的元素要想能够进行自然排序,就必须实现自然排序接口 5 */ 6 public class Student implements Comparable<Student> { 7 private String name; 8 private int age; 9 10 public Student() { 11 super

Java基础知识强化之集合框架笔记46:Set集合之TreeSet存储自定义对象并遍历练习2(自然排序)

1. TreeSet存储自定义对象并遍历练习2: (1)Student.java 1 package cn.itcast_06; 2 3 /* 4 * 如果一个类的元素要想能够进行自然排序,就必须实现自然排序接口 5 */ 6 public class Student implements Comparable<Student> { 7 private String name; 8 private int age; 9 10 public Student() { 11 super(); 12

Java EE中常用的四个框架

Java EE中常用的四个框架     Struts     Struts是一个基于Sun Java EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的.     Struts框架可分为以下四个主要部分,其中三个就和MVC模式紧密相关:     1.模型 (Model),本质上来说在Struts中Model是一个Action类(这个会在后面详细讨论),开发者通过其实现商业逻辑,同时用户请求通过控制器(Controller)向Action的转发过程是基于由struts-config

Java中的集合框架-Map

前两篇<Java中的集合框架-Commection(一)>和<Java中的集合框架-Commection(二)>把集合框架中的Collection开发常用知识点作了一下记录,从本篇开始,对集合框架里的另外一部分Map作一下记录. 一,集合框架的Map接口 Map与Collection不同之处在于它是以键值对来存储数据: Map比较常用的实现类有四个:HashTable,HashMap,LinkedHashMap,TreeMap: Map的方法也可以分为四类,增删改查,大致如下: 新

集合框架(ArrayList存储自定义对象并遍历泛型版)

//集合框架(ArrayList存储自定义对象并遍历泛型版) package cn.itcast_02; import java.util.ArrayList; import java.util.Iterator; /* * 需求:存储自定义对象并遍历. * * A:创建学生类 * B:创建集合对象 * C:创建元素对象 * D:把元素添加到集合 * E:遍历集合 */ public class ArrayListDemo2 { public static void main(String[]