第六章使用java实现面向对象-集合框架
一:接口:即表示集合的抽象数据类型。
实现:即集合框架中接口的实现。
算法:在一个实现了某个集合框架中的接口的对象身上完成某种有用的计算的方法,例如查找、
排序等。
Collection 接口存储一组不唯一,无序的对象
List 接口存储一组不唯一,有序(插入顺序)的对象
Set 接口存储一组唯一,无序的对象
Map接口存储一组键值对象,提供key到value的映射
二、List接口
List接口的常用类有ArrayList和LinkedList。它们都可以容纳所有类型的对象,包括
Null,允许重复,并且都保证元素的存储顺序。
ArrayList实现了长度可变的数组,在内存中分配连续的空间。遍历元素和随机访问元素的效率比较高
LinkedList采用链表存储方式。插入、删除元素时效率比较高。
1.List接口常用方法
|
方法名 |
说明 |
|
boolean add(Object o) |
在列表的末尾顺序添加元素,起始索引位置从0开始 |
|
void add(int index,Object o) |
在指定的索引位置添加元素。索引位置必须介于0和列表中元 素个数之间 |
|
int size() |
返回列表中的元素个数 |
|
Object get(int index) |
回指定索引位置处的元素。取出的元素是Object类型,使用前需要进行强制类型转换 |
|
boolean contains(Object o) |
判断列表中是否存在指定元素 |
|
boolean remove(Object o) |
从列表中删除元素 |
|
Object remove(int index) |
从列表中删除指定位置元素,起始索引位置从0开始 |
2.LinkedList的特殊方法
|
方法名 |
说明 |
|
void addFirst(Object o) |
在列表的首部添加元素 |
|
void addLast(Object o) |
在列表的末尾添加元素 |
|
Object getFirst() |
返回列表中的第一个元素 |
|
Object getLast() |
返回列表中的最后一个元素 |
|
Object removeFirst() |
删除并返回列表中的第一个元素 |
Object removeLast() 删除并返回列表中的最后一个元素
Map的常用方法
方法名 说 明
Object put(Object key, Object val) 以“键-值对”的方式进行存储
Object get (Object key) 根据键返回相关联的值,如果不存在指定的键,返回null
Object remove (Object key) 删除由指定的键映射的“键-值对”
int size() 返回元素个数
Set keySet () 返回键的集合
Collection values () 返回值的集合
boolean containsKey (Object key) 如果存在由指定的键映射的“键-值对”,返回true
Hashtable和HashMap的异同P190
三、迭代器Iterator
所有集合接口和类都没有提供相应遍历方法,而是由Iterator实现集合遍历
Collection 接口的iterate()方法返回一个Iterator,然后通过Iterator接口的两个方法可实现
遍历
1.boolean hasNext(): 判断是否存在另一个可访问的元素
2.Object next(): 返回要访问的下一个元素
四、泛型集合
把任何类型对象通过add(Object obj) 放入List中,认为只是Object类型
通过get(int index) 取出List中元素时必须进行强制类型转换,繁琐而且容易出现异常
使用Map的put(Object key, Object value)和get (Object key)存取对象时存在同样问题
使用Iterator的next()方法获取元素时存在同样问题
第六章使用java实现面向对象-集合框架的更多相关文章
- 菜鸟日记之 java中的集合框架
java中的集合框架图 如图所示:java中的集合分为两种Collection和Map两种接口 可分为Collection是单列集合和Map的双列集合 Collection单列集合:继承了Iterat ...
- Java基础--说集合框架
版权所有,转载注明出处. 1,Java中,集合是什么?为什么会出现? 根据数学的定义,集合是一个元素或多个元素的构成,即集合一个装有元素的容器. Java中已经有数组这一装有元素的容器,为什么还要新建 ...
- Java中的集合框架(上)
Java中的集合框架概述 集合的概念: Java中的集合类:是一种工具类,就像是容器,存储任意数量的具有共同属性的对象. 集合的作用: 1.在类的内部,对数据进行组织: 2.简单的快速的搜索大数据量的 ...
- 第51节:Java当中的集合框架Map
简书作者:达叔小生 Java当中的集合框架Map 01 Map提供了三个集合视图: 键集 值集 键-值 映射集 public String getWeek(int num){ if(num<0 ...
- 第48节:Java当中的集合框架
Java当中的集合框架 01 在我们班里有50位同学,就有50位对象. // 简书作者:达叔小生 Student[] stus = new Student[20]; 结果来了一位插班生,该同学因为觉得 ...
- Java中的集合框架-Collections和Arrays
上一篇<Java中的集合框架-Map>把集合框架中的键值对容器Map中常用的知识记录了一下,本节记录一下集合框架的两个工具类Collections和Arrays 一,Collections ...
- Java中的集合框架-Map
前两篇<Java中的集合框架-Commection(一)>和<Java中的集合框架-Commection(二)>把集合框架中的Collection开发常用知识点作了一下记录,从 ...
- Java中的集合框架-Collection(二)
上一篇<Java中的集合框架-Collection(一)>把Java集合框架中的Collection与List及其常用实现类的功能大致记录了一下,本篇接着记录Collection的另一个子 ...
- Java当中的集合框架Map
简书作者:达叔小生 Java当中的集合框架Map 01 Map提供了三个集合视图: 键集 值集 键-值 映射集 public String getWeek(int num){ if(num<0 ...
随机推荐
- Android应用开发以及设计思想深度剖析
Android应用开发以及设计思想深度剖析(1) 21cnbao.blog.51cto.com/109393/956049
- UWA发布 | 2017 Unity手游体检蓝皮书 — ARPG篇
报告目录: 一.ARPG手游总体性能开销分析 二.ARPG手游CPU模块性能开销分析 三.ARPG手游内存模块性能开销分析 四.ARPG手游资源管理分析 五.UWA对于ARPG手游研发团队的建议 一. ...
- centos7 修改网卡eth0 关闭ipv6 问题总结
1. 首先关闭"NetworkManager" 服务. 然后编辑网卡的配置文件将里面的NAME DEVICE项修改为eth0 vim /etc/sysconfig/network- ...
- collections中的defaultdict
用类型 用函数返回值 嵌套的dict from collections import defaultdict def tree(): return defaultdict(tree) c = defa ...
- “全栈2019”Java第八十一章:外部类能否访问嵌套接口里的成员?
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- Linux环境下动态链接库的生成和使用
使用自己封装的so时遇到了点问题,本着简便原则决定写个demo看看,顺便记录下整个过程. 1)生成so所需的文件如下: print.h #ifndef __print_h__ #define __pr ...
- JavaWeb学习笔记(十八)—— DBUtils的使用
一.DBUtils概述 1.1 什么是DBUtils commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbuti ...
- truffle使用详解
truffle使用详解 truffle是什么 Truffle测试环境 安装truffle truffle项目结构解析 文件编译 truffle的配置文件 移植 与合约进行交互 1.truffle是什么 ...
- Struts2和SpringMVC的action是单例还是原型的?
struts2的acion单独使用的时候应是多例的,也就是原型(prototype). 因为它是基于类开发的,它的三种获取页面传参的方式都是通过成员变量的方式来接受的. 如果用struts2框架基于方 ...
- B: Break Prime
题目描述 给定一个素数,试判断能否将该素数写为b3−a3 的形式,a,b皆为非负整数. 输入 多组输入 每行一个素数P (2≤P≤1015) 输出 若可以分解输出a,b(a<b) ,不能输出 ...