乱读天书, 不求甚解
周祎骏的个人云笔记
Toggle navigation
乱读天书, 不求甚解
主页
Linux:系统配置
Linux:用户管理
Linux:优化排错
Linux:进程调度
Linux:文件系统
Linux:网络
Linux:系统服务
Linux:安全
Linux:内核
容器:Docker
容器:containerd
容器编排:Kubernetes
IAC:Terraform
大数据:Hadoop
大数据:Zookeeper
大数据:Hbase
消息队列:rsyslog
消息队列:kafka
数据库:MySQL
数据库:MongoDB
搜索引擎:Elasticsearch
时序数据库:OpenTSDB
网站服务:Nginx
编程:Bash
编程:Perl
编程:Python
编程:C
编程:JAVA
编程:Rust
版本控制:gitlab
知识管理:docusaurus
常用小工具
关于我
标签
JAVA 3.00 泛型和容器
2018-08-06 11:39:33
61
0
0
admin
> 泛型和容器的介绍 #啥是容器 所谓容器就是一个主要用于存储数据的类,并提供了存储数据,提取数据的方法。 #啥是泛型 容器中可以存入类,但是如果容器中存入的类与程序员希望的不一样(写出bug了),容器本身无法辨别,会导致很多问题。 泛型就是一个限制,表明这个容器只能存储什么样的类。 ``` class company{ ... } ... ArrayList<company> list_name = new ArrayList<company>();//这时候这个容器就只能放company类 ``` *** #常用容器介绍(他们有继承关系) *关于每个接口实现的方法去读文档* ##Collection 接口 > 独立的元素序列,所有元素符合某些规则 支持普通的Iterator迭代器,只能向前移动 AbstractCollection类是该接口的默认实现 *** ###List 接口 > 按插入顺序保存接口 支持ListIterator迭代器(Iterator的子类),可以双向移动 **ArrayList类**:善于随机访问(按下标访问),在中间插入,移除元素很慢。数组实现 **LinkedList类**:善于在中间插入,移除元素,按下标访问慢。链表实现 LinkedList 用来作为栈的实现比java.util.Stack 对栈的实现更好(Think in JAVA说的,没测试过) *** ###Queue 接口 > 只允许从队列一端插入对象,从另一端移除对象 **LinkedList类**:可以作为Queue的实现,可以向上转型成Queue对象 **PriorityQueue类**:可以对元素进行排序,需要元素支持Comparable接口 *** ###Set 接口 > 不能有重复元素 **HashSet类**: 不维护元素顺序,速度最快。散列实现 **LinkedHashSet类**:维护元素插入顺序,散列实现查找,链表维护顺序 **TreeSet类**: 维护元素插入顺序,红黑树实现 *** ##Map 接口 > 键值对存储 **HashMap类**:散列实现
上一篇:
JAVA 2.00 控制流
下一篇:
JAVA 3.01 细谈泛型
文档导航