集合 篇
来源:互联网 发布:求最小公倍数的vb算法 编辑:程序博客网 时间:2024/06/01 18:14
集合 篇
Collection 集合(接口)
add(value);
List 集合(接口)--重复元素,将以特定次序存储元素。所以取出来的顺序可能和放入顺序不同。ArrayList --- 数组+单向链表 ,顺序 , 由数组实现的List。它允许对元素进行快速随机访问,但是向List中间插入与移除元素的速度很慢。
LinkedList --- 数组+双向链表 ,首尾,只应该用来由后向前遍历ArrayList,而不是用来插入和删除元素,因为这比LinkedList开销要大很多。
TreeSet 集合
底层 TreeMap 处理 add()--> put(key,value)
集合元素有一定的排序规则(比较器)
自然排序: Comparable 接口--compareTo()
compareTo()
学号升序
名字升序
}
自定义: Comparator 接口--compare()
定义TreeSet集合时,指定排序规则
new TreeSet<> (
new Comparator( ){
int compare()
} );
Map 集合
基本特点:
1. 向集合中添加元素 put(key,value )
maps
maps.put( 1,"hello" ) -- Entry<key,value>
maps.put( 2,"morning")-- Entry
keySet(): 所有key
values(): 所有values
entrySet(): 所有 Entry对象
基本数据类型
对象数据类型数据重复:
1. User 类 hashCode() equals()
2.
users
u1 = new User("101","王小王");
u2 = new User("101","王小王");
u3 = new User("","");
users.put( u1, 2);
users.put( u2, 1);
users.put( u3, 3);
3. Map集合的具体实现:
HashMap :
TreeMap :
HashMap 集合
HashMap 集合的特点:
1. 底层使用 哈希表 的结构存储元素
哈希表: 数组+链表结构
数据结构中存储数据时经常用到的三种结构:
数组:长度定义定义之后,不能再改变;顺序取数据时
效率高;若增加数组元素,需要重要开辟新空间,
浪费空间且增加执行负担
链表:可随意扩容长度,存储数据时,可随机存储,
数据在表中存储位置较零散,查找某数据时
数据量大;
哈希表:将 数组和链表的特点结合起来,存取数据
操作数据方便,效率得到提高;
b. HashMap 在存储数据时,两个重要参数:
注:这两个参数是基于 哈希表 操作的;
capacity:容量
load factor: 类加载因子
初始容量是 哈希表中"桶"的数量,创建一个HashMap后,默认容量为16;
类加载因子: 创建一个HashMap后,类加载因子默认为
类加载因子是哈希表在其容量自动增加之 前可达到多满的一种尺度.一般来说,负因子越大,表中的装载量越多;
c.HashMap 中是如何存储数据的? ( put )
d.放到 HashMap中的数据,不能保证存取顺序一致;
TreeMap 集合
放到TreeMap集合中的元素应该按照一定的规则排序
Comparable Comparator
基本数据类型的封装类已经自动实现,String也实现了
自然排序,默认是按key值排序:
整数按数值从小到大
浮点型从小到大
字符型:ASCII码
TreeMap中提供 了一些 fir*** last**()
FirstKey()| LastKey()
FirstValue()|LastValues()
FirstEntry()|LastEntry
Collection与Collections区别
在学习的时候要注意区分这两个概念。
java.util.Collection 是一个集合接口。
它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。
java.util.Collections 是一个包装类。
它包含有各种有关集合操作的静态多态方法。此类未提供public构造器,不能实例化,就像一个工具类,服务于Java的Collection框架。
0 0
- 集合篇
- 集合篇
- 集合 篇
- java 集合篇
- 集合篇(Collection)
- Java集合(准备篇)
- 集合总结篇
- Java篇--集合
- java集合篇
- 集合篇之ArrayList
- 集合篇之LinkedList
- 集合篇--HashMap
- java集合篇总结
- 集合
- 集合
- 集合
- 集合
- 集合
- 无线网络连接适配器的驱动程序出现问题怎么解决
- Github上的20位国内技术大牛
- javascript 为什么写在body体里面
- java基础9(javaoo4)——类的高级概念
- 最简单解决c#在UI线程中执行耗时方法导致界面假死的方法
- 集合 篇
- 【HDU 5950】【构造矩阵+矩阵幂】 Recursive sequence——2016ACM/ICPC亚洲区沈阳站(重现赛)
- 文章标题 POJ 2586 : Y2K Accounting Bug(贪心)
- java高并发-并行模式(下).md
- java成员变量和局部变量的区别
- Win10-64位Python2.7 Django开发与应用(三) 通过URL传参数
- fit_transform和transform的区别
- 剖析自己
- Shiro身份验证Realm