泛型类
什么时候定义泛型类?
当类中要操作的引用数据类型不确定的时候
早期定义Object来完成扩展,现在定义泛型来完成扩展
==================================================================================================
泛型方法 方法中使用泛型
输出:
printGenerics.Worker@1fc4bec
showGenerics.Manager@1bab50a
======================================================================
静态方法不可以访问类上定义的泛型
如果静态方法操作应用数据类型不确定,可以将泛型定义在方法上
输出结果:1234567890
=====================================================================================
泛型的限定
<?>通配符,也可以理解为占位符
<? extends E>:可以接受E类型或者E类型的子类型 这个叫做上限
<? super E>:可以接受E类型或者E类型的父类型 这个叫做下限
练习,编写 Person类 ,Manager类和Worker类继承Person类 并且覆写Person类中的getName方法
编写一个泛型限定为上限Person的ArraryList 再编写一个输出方法 要求上限为Person输出集合中的对象的名字
输出
bingWorker。。。。25
bingManager。。。。31
=================================================================
Map集合:该集合存储键值对,一对一对的往里存。而且要保证键的唯一性
1.添加
put(k key,v value)
void putAll(Map<? extends K,? extends V> t) 从指定映射中将所有映射关系复制到此映射中(可选操作)。
2.删除
clear()
remove(Object key)
3.判断
boolean containsValue(Object value)
boolean containKey(Objcet key)
4.获取
get(Object key)
size()
Values()
entrySet()
KeySet()
Map下三个常用的实现类
HashMap:底层是哈希表数据结构 基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。
(除了不同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)此类不保证映射的顺序,特别是它不保证该顺序恒久不变。比hashtable效率高
HashTable: 底层是哈希表作为数据结构,不可以存入null键不可以存入null值
TreeMap:底层是二叉树结构。线程不同步。可以用于给map集合中的键进行排序
和Set很像,其实Set底层是使用了Map集合
演示代码如下:
=======================================================================
map集合取出元素的两种方式
================================================================
用HashMap和TreeMap实现一个功能 提供一个学生类 分别想这两种集合中插入学生元素和地址元素
要求不可以出现同一个人 如果一个人的名字和年龄是统一的 则视为同一个人
hashMap中添加元素时 需要覆写学生类中的hashCode()方法和equals方法
而TreeMap中取出元素时则用传入自定义的迭代器比较器方法
输出结果:
kobe34洛杉矶湖人
Yao32中国上海
林书豪24纽约尼克斯
----------------------
Yao32.....中国上海
Yao35.....中国上海
kobe34.....洛杉矶湖人
lin24.....纽约尼克斯
林书豪35.....休斯顿火箭
分享到:
相关推荐
struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换
基本数据类型笔记.py
ABAP-数据类型学习笔记
本笔记主要关注C语言中的数据类型,这是理解任何编程语言的基础。数据类型决定了变量可以存储哪种类型的数据以及如何操作这些数据。在C语言中,数据类型大致可以分为以下几类: 1. 基本数据类型: - **整型**:...
1. **基本概念**:首先,笔记可能会定义数据结构的基本概念,如什么是数据、数据元素、数据对象、数据结构和抽象数据类型(ADT)。它会解释数据结构是如何组织和存储数据的,以及如何通过不同的方式访问和操作这些...
javaSE基础数据类型学习笔记
C语言学习笔记基础数据类型
"Java学习笔记,变量和数据类型和运算符" Java学习笔记中的变量和数据类型是 Java 语言的基础,了解 Java 的变量和数据类型是学习 Java 的必要步骤。 1. 数据类型 Java 中的数据类型可以分为基本数据类型和引用...
3. 抽象数据类型(ADT):ADT是一种逻辑上的数据类型,它只描述数据的操作而不涉及实现细节。ADT包括数据的定义和与之相关的操作,有助于实现信息隐藏,提高代码的可维护性和重用性。 4. 数据结构的分类: - 线性...
本篇学习笔记将详细解析Java中的数据类型转换及其相关的知识点。 首先,我们需要了解Java的基本数据类型,它们分为两大类:整型和浮点型。整型包括byte、short、int和long,浮点型包括float和double。此外,还有...
郝斌数据结构笔记 数据结构概述: 数据结构是指在计算机中对数据的存储、组织和管理的方式。它是软件最核心的课程,学完了啥也干不了。数据结构 = 个体的存储 + 个体的关系存储,算法 = 对存储数据的操作。 知识点...
- Java中的基本数据类型包括`boolean`、`byte`、`char`、`short`、`int`、`long`、`float`、`double`等。 - 基本数据类型的大小及取值范围如下: | 类型名称 | 大小(bits) | 取值范围 | | -------- | ---------...
Java 基本数据类型详解 Java 是一种面向对象的编程语言,Java 语言中有两大类数据类型:基本数据类型和引用数据类型。基本数据类型是 Java 语言的基础,理解基本数据类型是学习 Java 的关键。 Java 基本数据类型有...
一个全面的关VC++数据类型的总结,VARIANT, _variant_t,COleVariant 转换成字符中及相互间转化 不同时间间转换
在这些笔记中,你会学到如何使用Pandas读取和预处理数据,包括处理缺失值、异常值、数据类型转换以及数据聚合等操作。同时,Numpy的矩阵运算和统计函数也会被深入讲解,这对于理解和处理复杂的数据模型至关重要。 ...
你需要了解变量、数据类型(如整型、浮点型、字符串和布尔型)、流程控制(如条件语句和循环结构)以及函数的定义和调用等基础知识。 接着,我们会深入到数据分析的核心库,如NumPy、Pandas和Matplotlib。NumPy提供...
在数据类型的采集方面,数据预处理笔记详细介绍了结构化数据、半结构化数据和非结构化数据的概念和采集方法。结构化数据可以使用关系型数据库表示和存储,通常表现为二维表形式,每一行数据代表一个实体的信息。半...
4. 抽象数据类型(ADT): ADT是数学模型和定义在该模型上的操作集合,是一种高级的编程概念。它强调问题的抽象,定义了数据对象、数据关系和基本操作。ADT有助于封装复杂的数据操作,提高代码的可读性和可维护性。 ...
数据结构与算法笔记.pdf 数据结构与算法是计算机科学中两个紧密相关的概念。数据结构是指计算机中存储、组织和管理数据的方式,而算法是指解决问题的步骤和方法。在这份笔记中,我们将详细介绍算法的五个特性、算法...