Java集合框架
来源:互联网 发布:jd lsat 知乎 编辑:程序博客网 时间:2024/06/07 15:57
JCF:Java Collection Framework集合框架
是为表示和操作集合而规定的一种统一的标准体系结构。集合框架都包含三大块内容:对外的接口、接口的实现和对集合运算的算法(在一个实现了某个集合框架的工具类Collections它提供了对集合进行排序等多种算法实现)。
Java集合框架中的两大类接口;Collection和Map,其中,Collection又有两个子接口:List和Set。所以通常说Java集合框架共有三大类接口:List、Set和Map。它们的共同点:都是集合接口,都可以用来存储很多对象,如果要对集合类型加以约束可以使用泛型<只能放引用类型>。它们的区别如下:
·Collection接口存储一组不唯一(允许重复)、无序的对象。
·Set接口继承Collection接口,存储一组唯一(不允许重复)、无序的对象。
·List接口继承Collection接口,存储一组不唯一(允许重复)、有序(以元素的插入的次序排列)的对象。
·Map接口存储一组成对的键-值对象,提供key(键)到value(值)的映射。Map中的key不要求有序,不允许重复。value同样不要求有序,但允许重复。
(·Iterator接口是负责定义访问和遍历元素的接口。)
List接口中的常用方法
boolean:add(Object obj)在列表末尾顺序添加元素,起始索引位置从0开始。
void:add(int i,Object obj)在指定的索引位置添加元素,原索引位置及其后面的元素依次后移。
int:size()返回集合中的元素个数。
Object:get(int index)返回指定索引位置处的元素。
boolean:contains(Object obj)判断集合中是否存在指定元素。
boolean:remove(Object obj)从集合中删除元素。
Object:remove(int index)从集合中删除指定位置的元素。
Map接口中的常用方法
Object:put(Object key,Object value)以“键-值对”的方式进行存储元素。
Object:get(Object key)根据键返回相关联的值,若不纯在指定的键,则返回null。
Object:remove(Object key)删除指定的键映射的“键-值对”。
int:size()返回该集合中的元素个数。
Set:keySet()返回键的集合
Collection:values()返回值的集合
boolean:containsKey(Object key)若存在指定的键映射的“键-值对”,则返回true。
boolean:isEmpty()若不存在键-值映射的关系,则返回true。
void:clear()从此映射中移除所有的映射关系。
常用的实现类
ArrayList类实现了List接口,对数组进行了封装,实现了长度可变的数组。ArrayList存储数据的方式和数组相同(线形结构),都是在内存中分配连续的空间,它的优点在于遍历元素和随机访问元素的效率比较高。
LinkedList类实现了List接口,它采用链表存储方式(指针网状接口),优点在于插入、删除元素时的效率比较高。提供了额外的addFirst()、addLast()、removeFirst()和removeLast()等方法,这些方法使得LinkedList可被用作堆栈(stack)或者队列(queue)
HashMap类实现了Map接口,它的存储方式是哈希表。哈希表也成为散列表,是根据关键码值(key value)而直接进行访问的数据接口。
0 0
- Java集合:集合框架
- 【Java】java集合框架
- [Java]Java集合框架
- JAVA集合框架和集合
- 【集合】Java集合框架介绍
- Java集合之集合框架
- [集合]Java的集合框架 Collection集合
- Java集合框架 (一)
- Java集合框架 (二)
- Java集合框架(三)
- Java集合框架
- 也来谈Java集合框架
- 也来谈Java集合框架
- Java集合框架 (一)
- Java集合框架
- 也来谈Java集合框架
- java集合框架
- Java集合框架总结
- Java线程(八):锁对象Lock-同步问题更完美的处理方式
- 在类的成员函数中调用delete this
- c#操作DataTable (2)
- static 类成员详解。
- 非对称加密DSA、RSA
- Java集合框架
- 黑马程序员_泛型简介
- 将字符串拆分
- 深入理解JVM内部结构
- solrCloud..
- delphi 调用
- 截屏
- 测试理论--这些bug值得修复吗
- 常见面试之机器学习算法思想简单梳理