Java学习笔记19 泛型、TreeMap、Co…

11【泛型、Map、异常】 11【双列集合、异常】 一、Map双列集合 1.1 Map集合概述 Map 用于保存具有映射关系的数据,如一个学生的ID对应一个学生,一个商品的ID对应一个商品,一个部门ID对应多个员工;这种具有对应关系的数据成为映射; 因此 Map 集合里保存着两组值,一组值用于保存 Map 里的 Key,另外一组用于保存 Map 里的 Value,Map 中的 key 和 value 都可以是任何引用类型的数据;Map 中的 Key 不允许重复,HashMap对key的存取和 HashSet 一样,仍然采用的... 阅读详情
泛型是类型的参数表示,简单的几种应用形式:(作用,更小的类型转换抛出,只要编译时没出现警告,就不会出现运行时ClassCastException无需记向下转换的具体类型)
 
1.class Text<T>//以String类型实例化泛型T为例
  Text<String> text = new Text<String>();
2.class Text<T extends List>//只有List的实现类才能作为参数传入
  Text<LinkedList> text = new Text<LinkedList>();
3.class Text<T> //限定类型持有者的范围
  Text<? extends Set>  text= null;
  text = Text<HashSet>();
 
import java.util.Comparator;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;

public class MapTest
{
public static void main(String[] args) 
{
TreeMap<Person,String> map = new TreeMap<Person,String>(new Person2<Person>());
map.put(new Person("zhangsan",15,"beijing"), "第一名");
map.put(new Person("lisi",20,"tianjin"),"第二名");
map.put(new Person("wangwu ",25,"shagnhai"), "第三名");
Set<Map.Entry<Person,String>> set = map.entrySet();
for(Iterator<Map.Entry<Person,String>> itr = set.iterator(); itr.hasNext();)
{
Map.Entry<Person,String> mentry = itr.next();
int age = (mentry.getKey()).getAge();
System.out.println(age);
System.out.println(mentry.getValue());
}

}

}
class Person2<T> implements Comparator<T>
{
public int compare(T o1,T o2)
{
Person p1 = (Person)o1;
Person p2 = (Person)o2;
return p1.age - p2.age;
}
}
class Person
{
String name;
int age;
String address;
public Person(String name, int age, String address)
{
this.name = name;
this.address= address;
this.age = 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 String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}

编译CycloneDDS和CycloneDDS-CXX踩过的坑——CMake Error at CMakeLists.txt:227 (find_package): 最近编译CycloneDDS和CycloneDDS-CXX踩了两个坑,花了不少时间。做个简单的记录,免得以后又踩到。注意:CycloneDDS-CXX编译依赖CycloneDDS,因此必须先编译CycloneDDS需要严格按照步骤进行,否则要入坑步骤如下,1先编译CycloneDDS以上步骤完成CycloneDDS的编译和安装,生成的bin include lib等位于install目录下面。 阅读详情

相关推荐

k8s部署 普罗米修斯(Prometheus)监控

Prometheus是一个开源的服务监控系统和时序数据库其提供了通用的数据模型和快捷数据采集、存储和查询接口它的核心组件Prometheus服务器定期从静态配置的监控目标或者基于服务发现自动配置的目标中进行拉 取数据新拉取到啊的 数据大于配置的内存缓存区时,数据就会持久化到存储设备当中。

D2961953033的博客 3854

java 容器和泛型之TreeMap

TreeMap类是SortedMap的唯一实现,基于红黑树数据结构,它根据键的自然顺序或者创建映射的Comparator进行排序   /**  * @author yixiao Han  * @data:2018 10 29  * @function: test The java Map coding   */ package Treemap; import java.util.*; cl...

qq_36922475的博客 616

MaxEnt物种分布预测中的常见误区与优化技巧:如何提高模型准确率

本文深入探讨了MaxEnt物种分布预测模型从基础应用到精准预测的进阶实践。针对模型准确率提升,文章系统分析了环境变量筛选、模型参数调优、结果批判性解读等核心环节的常见误区,并提供了基于生态位模型原理的深度优化技巧,帮助研究者产出更可靠、可解释的预测结果。

weixin_29219539的博客 594

泛型,TreeMap,HashMap

//泛型 //在类上使用泛型,要求在使用集合时必须制定泛型 class Student{ private Object obj; public Student() { } public Object getObj() { return obj; } public void setObj(Object obj) { this.obj = obj; } } //使用泛型...

myloveprogrmming的博客 472

树莓派5新手必看:保姆级ibus中文输入法安装与配置全流程(含.bashrc设置避坑)

本文详细介绍了在树莓派5上安装和配置ibus中文输入法的完整流程,包括系统环境准备、ibus框架安装、图形界面配置及常见问题解决方案。通过清晰的步骤说明和避坑指南,帮助新手快速实现中文输入功能,提升开发效率。

weixin_29159441的博客 527

如何入门强化学习

很多同学在入门强化学习的时候都会遇到困难,那我这里就简单介绍一下应该如何入门强化学习,并以开源代码为例详解强化学习实战。

seeksister的博客 3302

java中的几种泛型类——HashSet、HashMap、TreeSet、TreeMap,遍历map,排序,HashTable比较

HashSet HashSet泛型类在数据组织上类似于数学上的集合,可以进行“交”、“并”、“差”等运算。 HashSet泛型类创建的对象称为集合,如:     HashSet set =  HashSet();     那么set就是一个可以存储string类型数据的集合,set可以调用add(String s)方法将string类型的数据添加到集合中。添加到集合中的数据称为

木羊的专栏 2927

ISE 14.7 MCS文件的生成--- Spartan3AN XC3S200AN

步骤一: Generate Programming File生成 .bit文件 步骤二: Tools——>iMPCAT 步骤三: iMPACT Flows——>双击“Create PROM File(PROM File Formatter)” 步骤四: Non-Volatile FPGA——>点击”Spartan 3AN“——>点击“绿色箭头”——>Spartan3AN(bits)——>选择“xc3s200an"——>点击”Add storage Device“—

qq_40039676的博客 2099

2022.01.20_Java学习总结_集合_3_HashSet、散列表、Map、泛型

1. Set 1.1 HashSet使用 HashSet set = new HashSet(); set.add(1); set.add("asd"); set.remove("asd"); System.out.println(set.size()); set.isEmpty(); for (Object object : set) { } 2. 散列表 2.1 概述 * 散列表结构 可以理解为 数组中保存的是链表的首节点,用来保存k和v键值对操作 *

m0_46552030的博客 724

最新Anaconda3的安装配置及使用教程(详细过程)

最新Anaconda3安装使用Anaconda下载方式一:官网下载方式二:清华镜像下载(推荐)Anaconda安装 Anaconda是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项 Anaconda + Jupyter 基本上已经是大部分机器学习/数据分析等开发者标配的开发环境, 不多介绍,直接进去正题: Anaconda下载 方式一:官网下载 下载地址传送门: 官网首页:https://www.anaconda.com/ 官网下载页:https://www

HowieXue 薛永浩的博客 34万+

《C++面向对象程序设计》✍千处细节、万字总结(建议收藏)

《C++面向对象程序设计》✍千处细节、万字总结 文章目录《C++面向对象程序设计》✍千处细节、万字总结一、面向对象程序设计二、C++基础2.1 C++的产生和特点2.2 一个简单的C++示例程序2.3 C++在非面向对象方面对C语言的扩充输入和输出cinconst修饰符void型指针内联函数带有默认参数值的函数函数重载作用域标识符"::"强制类型转换new和delete运算符引用三、类和对象(一)3.1 类的构成3.2 成员函数的定义3.3 对象的定义和使用3.4 构造函数与析构函数构造函数成员初始化列表

像写诗一样优雅地写代码~ 78万+

Class类的常用方法?

1、getName() 一个Class对象描述了一个特定类的属性,Class类中最常用的方法getName以 String 的形式返回此 Class 对象所表示的实体(类、接口、数组类、基本类型或 void)名称。 2、newInstance() Class还有一个有用的方法可以为类创建一个实例,这个方法叫做newInstance()。例如: x.getClass.newInstance(),创建了一个同x一样类型的新实例。newInstance()方法调用默认构造器(无参数构造器)初始化新建对象。 3、g

iPwisdom的博客 821

【MATLAB】嵌入式PID控制参数整定与优化

本文提出了一种基于MATLAB仿真的嵌入式PID参数优化方法,解决了传统人工试凑法效率低、适应性差的问题。通过建立一阶滞后被控对象模型,对比分析了不同PID参数组合的性能表现,筛选出最优参数。仿真结果表明,优化后的PID参数能有效降低超调量(从传统方法的显著超调降至接近0%),缩短调节时间,提高稳态精度。最终将优化算法部署到STM32平台,实现了"仿真整定-参数优化-嵌入式落地"的完整开发流程。该方法显著提升了嵌入式系统的响应速度和控制精度,为工业控制应用提供了标准化解决方案。

unber的博客 45

Java集合与泛型:从基础到高级应用

本文摘要: Java集合框架与泛型编程是Java核心技术,主要包括三大类集合(List、Set、Map)和泛型机制。泛型分为泛型类、泛型方法和通配符,能提高类型安全性和代码复用性。List集合包含ArrayList(基于动态数组)和LinkedList(基于双向链表)两种实现,前者适合频繁访问,后者适合频繁插入删除操作。通过示例代码展示了泛型类的定义与使用、泛型方法的实现、通配符的应用以及List集合的基本操作,为Java集合框架的学习提供了实践指导。

今天比昨天更努力一点! 3600

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Java----泛型与集合

Java----泛型与集合一、泛型二级目录三级目录 一、泛型 1、泛型的安全机制 泛型作用:强制了集合存储固定的数据类型 2、书写格式 //集合类<> 3、泛型的好处 ①安全性提高了 ②程序代码量减少 ③避免了强制类型转换 ④程序的问题提前到了运行前 4、泛型中的E E没有实际价值,只是一个变量 特殊:等待接收指定的数据类型 ArrayList<String> ar = new ArrayList<String>(); //此时E变成String类型 5、自定

m0_64063877的博客 3544

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Java学习day18-集合框架2(泛型,工具类,TreeMap)

集合框架2今日目标一.泛型1.泛型类2.泛型接口3.泛型方法4.泛型通配符二.集合工具类三.TreeMap和TreeSet作业: 今日目标 泛型 集合工具类 自带排序集合 一.泛型 ​ Java泛型是jdk 1.5中引入的一个新特性,其本质是参数化类型,也就是说所操作的数据类型被指定为一个参数(type parameter)这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 引入案例 需求:输出集合中所有的字符串 ArrayList list = new Arra

小苏(º﹃º )的博客 452

Java集合、泛型和枚举

转载于:http://c.biancheng.net/java/ 在 Java 中数组的长度是不可修改的。然而在实际应用的很多情况下,无法确定数据数量。这些数据不适合使用数组来保存,这时候就需要使用集合。 Java 的集合就像一个容器,用来存储 Java 类的对象。有些容器内部存放的东西在容器内部是不可操作的,像水瓶里的水,除了将其装入和倒出之外,就不能再进行别的操作了,但是很容易装入和倒出;而有些容器内部存放的东西在容器内部是可以操作的,例如,衣柜里面摆放的衣服,不仅可以将衣服存放到衣柜中,还可以将衣服有

qq_41854911的博客 1178

Java集合-泛型

1、Array(数组)、ArrayList和LinkedList的区别 Array(数组)是基于索引(index)的数据结构,它使用索引在数组中搜索和读取数据是很快的。Array获取数据的时间复杂度是O(1),但是要删除数据却是开销很大,因为这需要重排数组中的所有数据,(因为删除数据以后, 需要把后面所有的数据前移)。缺点:数组初始化必须指定初始化的长度, 否则报错。 例如: int[] a = new int[4];//推荐使用int[] 这种方式初始化 ​ int

Philanderers的博客 1443

Java 随笔记: 集合与泛型

Java 集合框架提供了一套用于存储和管理对象的标准接口和实现类。它简化了开发过程,提高了代码的可读性和可维护性。集合框架的核心概念:定义集合类的通用行为,例如添加元素、删除元素、遍历元素等。提供对接口的具体实现,例如 ArrayList、HashSet、HashMap 等。用于遍历集合元素,提供了一种标准方式。集合框架的主要优势:提供了统一的接口,可以方便地使用不同的集合类。泛型机制保证了集合中元素类型的安全。提供了各种高效的实现,满足不同场景的需求。可以根据需要创建新的集合类。

DaPiCaoMin的博客 1668

小王Java学习打卡day13——泛型,hashMap,LinkedHashMap,TreeMap

泛型 ​ 为什么使用泛型 存在一些问题: 取集合元素的时候,取出来的是Object类型,需要使用的时候只能强转 添加元素的时候,缺乏规范,导致类型转换异常 设计原则:不要写重复的代码 泛型: 一种数据的约束 jdk 1.5之后出来的,提供编译时期的安全检查机制,给我们提供了自动的强制类型转换,安全 如何使用泛型? 常见字母 T ——type K V —— key value E —— Element 使用 使用在类上 //一个类使用一个泛型 public c

w1099938370的博客 489

Java学习笔记:泛型、集合与数组

泛型 写在前头的重点总结 泛型程序设计的作用就是让编写的代码可以被不同类型的对象所重用 泛型的使用,即在声明类或定义一个泛型方法时加形如&lt;T&gt;的菱形,里面是占位符,这个占位符就指代泛型所包含的所有类型 泛型类或方法中的占位符类型如果要加以约束: &lt;T extends Comparable &amp; Serializable&gt;, 而不是用 implements 类...

MustangJy的博客 945

Java学习笔记——容器和泛型

Java学习笔记——容器和泛型 容器 Java提供的一套容器类,其中基本类型是List、Set(集)、Queue和Map(映射),这些对象类型也称之为集合类。 列表( List ):数组方式实现,维护元素的索引顺序 – 对象按索引存储 – 可以存储重复元素 主要实现类 – ArrayList:动态数组 •遍历比较快,插入删除偏慢 – LinkedList:链表 •双向链表,遍历速度慢,快速插入...

weixin_43827144的博客 1967

java基础中的--------Map+泛型

一、泛型 1、泛型的概念 定义 广泛的类型,在定义一个类的时候,类型中有些方法参数、返回值类型不确定,就使用一个符号,来表示那些尚未确定的类型,这个符号,就称为泛型。 使用 对于有泛型的类型,在这些类型后面跟上尖括号,尖括号里面写上泛型的确定类型(在使用某个类创建对象时,已经可以确定这个具体的类型了,那么就直接写出具体类型) 例如:List al = new ArrayList(); 泛型的好处 1、提高了数据的安全性,将运行时的问题,提前暴露在编译时期 2、避免了强转的麻烦 注意事项 1、前后一致:在创建

刘小白 7729

Java Map 泛型简述

Map 泛型 Map 概述 map保存键值对K V 无序key不可重复value可重复 map和集合不一样,基本操作差不多,map用来保存映射关系,比如商品,商品名产地,单价等属性,但是购买属性不是商品的属性,放到商品类里不合适,使用Map的value储存购买数量k做伤品比较合适 或者做一些统计操作比如字符串"jhbiyyvdcgcvyvyvyew"统计每个字符出现的次数,字符为k次数为V 常用方法 HashMap import java.util.HashMap; public class HashMa

qq_43382750的博客 3766

集合泛型

1.集合的概述 2.Collection 3.List 4.Vertor 5.Stack 6.ArrayList 7.LinkedList 8.Set 9.HashSet 10.TreeSet 11.泛型 12.Map 13.HashMap 14.Hashtable 15.TreeMap 16.LinkedHashMap 一、集合的概述 1.集合的概念 ...

WYJ____的博客 1263

Java笔记(15)泛型与Map集合

Java笔记(15)泛型和Map集合 1.泛型

weixin_42621024的博客 628

Java泛型与集合

在编写面向对象的程序的时候,经常会遇到一些类型相同的对象,虽然可以用数组来存储这些对象,可是数组一经定义便不能改变大小。因此Java提供了一个集合框架来处理对象组,使得处理对象组更容易。集合是指用来集中存放一组对象的一个对象,相当于一个容器,提供了保存、获取和操作其他元素的方法。Java集合框架由两种类型构成,一个是Collection,另一个是Map。它们是最基本 的接口,其下还有子接口,简化图如下:Collection接口定义了集合操作的常用方法,基本可分为基本操作、批量操作、数组操作和流操作。

weixin_59995358的博客 1000
上一篇: Java学习笔记18&nbsp;ArrayList&nbsp;和Linke…
下一篇: Java学习笔记20&nbsp;策略模式(Stratag…
雪地车
博客等级 码龄15年 3粉丝 68原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值