java Collections框架
来源:互联网 发布:宝利通软件 编辑:程序博客网 时间:2024/06/06 03:00
Collections主要提供了List(列表),Queue(队列),Set(集合),Stack(栈)和Map(映射表,用于存放键值对)等数据结构。List,Queue,Set,Stack都继承于Collection接口。下面主要介绍实现Collection接口的List和Set类,和Map接口。
1Set接口:
特点:集合中的元素不能重复。
Set接口主要实现了两个实现类:
1)HashSet : HashSet类按照哈希算法来存取集合中的对象,存取速度比较快
Set set=new HashSet();
set.add("abc");
set.add("cde");
set.add("efg");
set.add("fgh");
set.add("abc");
2)TreeSet : TreeSet类实现了SortedSet接口,能够对集合中的对象进行排序。
Set set=new TreeSet();
set.add("abc");
set.add("cde");
set.add("efg");
set.add("fgh");
set.add("abc");
2List集合:
按对象进入的顺序保存对象,可以对列表的每个元素的插入和删除位置进行精确的控制,还可以保存重复的对象。
List接口实现了3个实现类:
1)LinkedList:采用双向链表实现,随机访问效率低,插入元素效率高,因为不需要对数据进行移动,非线程安全。
2)ArrayList基于Object【】 array来实现的,在内存中开辟一块连续的空间来存储,索引速度快,插入元素慢。有一个初始化的容量大小,当存储的元素超过这个大小时,需要动态冲扩存储空间。默认扩充为原来的1.5倍。(没有提供方法来设置空间扩充的方法),非线程安全。
3)Vector和Array类似,但默认扩充为原来的2倍(每次扩充空间的大小是可以设置的),线程安全
3Map集合:
提供从键映射到值的数据结构。用于保存键值对,值可以重复,键是唯一的,不能重复。
Map接口实现了3个实现类
1)HashMap:基于散列表实现,采用对象的HashCode可以进行快速查询。
2)TreeMap:基于红黑树的数据结构,内部元素是按需排列。其实现了SortMap接口,从而实现排序
3)LinkedHashMap:采用列表来维护内部的顺序,是HashMap的一个子类,输出的顺序和输入的顺序相同,还可以按照读取顺序排列。
4)Hashtable:基于散列表实现,采用对象的HashCode可以进行快速查询。
5)WeakHashMap:与HashMap类似,采用的是“弱引用”,只要key不被外部引用,他就可以被垃圾回收器回收。而HashMap是“强引用‘,只要key不被外部引用,并且key从HashMap中删除后,才可以被垃圾回收器回收。
Hashtable和HashMap的区别:
1)HashMap允许空键,即null key。(最多只有一条记录的键为null)
2)HashMap非线程安全,效率高;Hashtable线程安全,效率低。
- java Collections框架
- Java集合框架Collections
- Java:Collections框架
- Java集合框架->Collections类
- Java集合框架(java collections framework)
- Java 2中的Collections框架 -- Map
- Java 2中的Collections框架 -- Map
- Java 2中的Collections框架 -- Map
- Java 2中的Collections框架 -- Map
- Java 2中的Collections框架 -- Map
- Java基础--集合框架之Collections
- Java学习笔记(十)collections框架概述
- Java集合框架GS Collections详解
- Java基础学习记录--Collections框架
- Java集合框架:Collections工具类
- 《JAVA集合框架中的Collections类》
- Java基础-集合框架7 Collections
- Java集合框架之Collections工具类
- 自定义view(一)View坐标系与触摸事件
- bug--多线程同步异步
- Ionic 热更新
- elasticsearch环境搭建与使用
- 信号与槽对于lambda的支持
- java Collections框架
- java判断文件是否为图片
- 【读书笔记】大规模Web开发技术(ch16 作业队列系统,存储选择,分布式)
- css布局之格子布局
- SQL增加、删除、更改表中的字段名
- iOS应用崩溃日志分析
- 安卓传map集合
- 选择排序练习题
- 儿童节亲子靠它啦~