java集合类
来源:互联网 发布:com域名 编辑:程序博客网 时间:2024/06/08 09:34
容器
1.1 容器指什么
容器是JAVA中API提供的一系列类的实例,用于程序中存放对象。
1.2 容器中有哪些接口
有collection 和map ,其中list接口 ,set接口有属于collection接口。
List接口中常用的类有:Vector , ArrayList ,LinkedList
Set接口中常用类有:HashSet, TreeSet, LinkedHashSet
Map中常用的类有:HashMap, Hashtable, TreeMap
1.3 collection接口中定义了存取一组对象的方法,其子接口色set和list分别定义了存储方式
set中的数据对象没有顺序且不可以重复
list中的数据对象是有序的且可以重复(即互相equals)
map接口定义存储“健(key)----值(value)映射对”
指通过一个对象找到另一个对象
1.4 ArrayList与Vector之间的区别
ArrayList:线程不同步(不安全),速度快
Vector:线程同步(安全),速度慢
1.5 ArrayList与LinkdeList之间的区别
ArrayList:底层是数组结构,所以查询快,修改删除,插入慢
LinkedList:底层是链表结构(双向链表),查询慢,修改删除,插入快
Vector:与ArrayList一样,区别在于线程安全效率低
1.6 Map中key不能重复,实现Map接口的类用来存储键---值对通过键来标识
Map接口的实现类有HashMap, Hashtable, TreeMap
1.7 在HashMap中Map.put(key,value)中key可以为null,value也可以为null
在Hashtable中键值和value的值均不能为空,保证线程的安全
1.8 Set是无序的,不重复的(相对List)来说
HashSet底层用HashMap来实现
往HashSet里面方对象,同样需要重写hashcood方法
1.9 为什么set中元素不能重复
Add 方法执行的是map方法
我们添加的对象是map中的key
Value执行的同一个对象PRESENT
因为map中的key是不允许重复的,所以set中的元素不能重复
TreeSet是有序的,HashSet是无序的
2.1 Auto-boxing/unboxing(封装和拆封)
自动打包:自动将基础类型转换为对象
自动解包:自动将对象转换成基础类型
2.2 HashCode
Hashcode是一种编码方式,在java中每个对像都会有一个HashCode,java可以通过这个hashcode来识别一个对象
Hashtable实现了一种无顺序的元素排列
1. 两个对象相等则hashcode一定相等
2. hashcode相等对象未必相等
3. 重写equals方法,通常需要重写hashCode方法.因为你的本意是想让他相等的.但hashCode如果不重写,不同的对象就不会相等
4. hashcode被谁调用,什么时候调用
被Map对象调用,在put一个值得时候,存在则覆盖,不存在则增加
2.3Iterator
实现了collection接口容器都有一个iterator方法用以返回一个实现了Iterator接口的对象
Iterator对象称作迭代器,用以方便的实现对器内元素的遍历操作
Iterator对象的remove方法是在迭代过程中删除元素的唯一安全方法
Boolean hasNext() 判断游标右边是否元素
Object next() 返回游标右边的元素并将游标移动到下一个位置
Void remove() 删除游标左边的元素,在执行玩next 之后该操作只能执行一次
2.3两个类
这两个类分别是:Collections 和 Arrays
其中,Collections提供了对一个Collection容器进行诸如排序、复制、查找和填充等方法
Arrays 提供了数组的填充,查找,比较,排序等一系列的对数组的操作
2.4 三个知识点
Enhanced For 增强型For循环
Generic范型 à增强程序的可读性和稳定性
Auto-boxing / unboxing à(装箱与拆箱)谨慎使用
2.5 如何选择数据结构
Array读快改慢
Linked改快读慢
Hash搜索极快,遍历极慢
Tree(有序)搜索都比较快,适合做索引
- Java集合:集合类详解
- Java集合-常用集合类
- JAVA【集合一】集合类
- JAVA中的集合类
- JAVA中的集合类
- JAVA中的集合类
- Java集合类(整理)
- java集合类
- JAVA中的集合类
- Java集合类笔记
- JAVA中的集合类
- java集合类
- java集合类总结
- JAVA中的集合类 - -
- JAVA中的集合类
- java集合类
- java 集合类
- java中的集合类
- ecshop购物车原理
- 马士兵视频:锁问题
- C++primer 第四章
- android alertdialog不能弹出弹窗问题
- [算法]2016.9.4
- java集合类
- Java基础零碎知识
- 第三方登录之QQ登录集成(二)
- 二进制中1的个数——剑指offer
- java异常类处理
- [MFC] 对话框文件拖拽
- php://input的细节问题
- final finally finalize三者有什么区别
- AutoItLibrary封装上传文件