【Java基础】 (List、Set、Map、Stack、Queue)总结
来源:互联网 发布:mac 蓝牙解锁 编辑:程序博客网 时间:2024/06/05 15:40
1、引入背景
如果一个程序只包含固定数量的且其生命周期都是已知的对象,那么这是一个非常简单的程序,而在通常情况下程序总在运行时才知道某些条件去创建对象,所以就不能通过创建命名的引用来持有每一个对象,因为你不知道这样的对象有多少个,java中有多种方案来保存对象的引用,下面就将介绍容器类来解决这样的问题。
2、Collection容器
其代表一个独立的元素序列,这些元素都遵循一条或者多条规则。
2.1、List
List可以将元素维持在特定序列中,常见的子类实现有
- 1
- 2
2.2、Set
用来保存不重复的元素,常用的实现有
- 1
- 2
2.3、Stack
由于stack在当初设计时候有缺陷,所以现在不建议使用stack,如果要使用栈这种数据结构,建议使用LinkedList,LinkedList能够直接实现栈的所有功能和方法,所以建议使用LinkedList.
2.4、Queue
队列是一种先进先出的容器,LinkedList实现了queue接口,所以可以通过向下转型来通LinkedList构造queue
- 1
其类图关系如下:
3、Map容器
Map。一组成对的“键值对”对象,允许你使用键查找值。
常用实现有
- 1
- 2
- 3
其类图关系如下:
4、Iterator 和iterable区别
Iterator是迭代器类,而Iterable是接口。
引入迭代器这个对象的目的是为了从一个collection或者Map的对象中取数据,而不必关心取数据的具体底层实现,如在List中add()和get()分别是插入元素和取出元素,而在Map中put(),才是插入元素,迭代器是一个对象,其目的是遍历和取出序列中的对象。而客户端程序员不必知道该序列底层是通过Set、List还是Map实现。
Iterator的功能:
- 1
- 2
- 3
- 4
用法如下:
- 1
- 2
- 3
而对于iterable,任何实现iterable接口的类都可以使用迭代器进行遍历。
5、Collection和Collections区别
java.util.Collection 是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。
java.util.Collections 是一个包装类。它包含有各种有关集合操作的静态多态方法。此类不能实例化,就像一个工具类,服务于Java的Collection框架。
- 【Java基础】 (List、Set、Map、Stack、Queue)总结
- Java:常用集合类(List、Map、Set、Queue、Stack)
- java 集合(set、list、map、stack、queue)的用法
- java集合总结-List/Set/Map/Queue
- JAVA Map、Set、List、Queue、Stack的特点与用法
- Java中 List, Map, Stack, Queue, Set 的介绍
- List,Map,Stack,Queue,Set的遍历
- java基础巩固系列(九):持有对象之间的使用与关系(Iterable、Collection、List、Queue、Set、Map、Stack)
- Java集合体系总结—Map、Set、List、Queue
- java vector,list,map,stack,queue
- java中List、Map、Set、Collection、Stack、Queue等的使用
- STL 整理map、set、vector、list、stack、queue、deque、priority_queue
- Map、Set、List、Queue、Stack的特点与用法1
- Map、Set、List、Queue、Stack的特点与用法2
- Map、Set、List、Queue、Stack的特点与用法1
- Map、Set、List、Collection、Queue、Stack的特点与用法。
- STL详解(vector,list,deque,stack,queue,priority_queue;map,set)
- map、set、vector、list、stack、queue、deque、priority_queue
- 欢迎使用CSDN-markdown编辑器
- NLP06-Gensim源码简析[字典]
- eclipse启动报错:Error:Could not create the Java Virtual Machine Error:A fatal exception has occurred
- Java 字符串的编码解码
- Windows更改CMD命令默认的初始路径
- 【Java基础】 (List、Set、Map、Stack、Queue)总结
- 求解方程根的近似解:一般迭代法
- 两个类具有相同的 XML 类型名称。请使用 @XmlType.name 和 @XmlType.namespace 为类分配不同的名称。
- 链表---在有序链表中寻找中点的两种方式
- 分子量
- 栈,堆,方法区及内存方面知识
- CORS 跨域 实现思路及相关解决方案(转:http://www.cnblogs.com/sloong/p/cors.html)
- 搭建apache2服务器实现文件的上传下载
- 1.Git (安装&基本用法)