集合(八)
来源:互联网 发布:零基础学javascript 编辑:程序博客网 时间:2024/06/06 03:08
1.使用集合的目的?
使用可变长度的容器来存储对象。
2.集合和数组的区别?
集合:变长、只存储对象、同一集合可存储不同对象
数组:定长、可存储任意类型(使用泛型时只可以存储泛型指定的类型)、同一数组只可以存储一种类型
3.单列集合:
统治者:Collection
通用迭代器:Iterator(只有实现了Iterator接口或者ListIterator的集合才可使用增强for循环)。此迭代器除了迭代只可以对集合进行删除操作,还支持双向迭代
List家族的迭代器:ListIterator,此迭代器可以对元素进行增删查改操作;
小插曲:使用迭代器的时候不可使用集合自己的方法对集合进行操作,否则出现并发修改异常;
各司其职的官员:
List(有序可重复,可以通过索引值操作元素)----Vector(有两种迭代器,线程安全,不推
荐使用)
-----ArrayList
------LinkedList
Set(无序不可重复)-----HashSet:散列存放(查询速度快)----LinkedHashSet:有序
-----TreeSet:有序存放(自然排序:实现Comparable接口;外置比较器:实现Comparator接口)
小插曲:HashSet:集合往集合里存储数据每次都要都要调用hashCode和equals方法,注意,两个对象的equals相等时,应该保证哈希值也相等,否则会出现对象存入集合删不掉的情况,这样会导致内存泄露;
4.双列集合:
统治者:Map
Map内部接口:Map.Entry封装键值对
各司其职的官员:
Map(键值对,键不可重复)---HashMap
---TreeMap
输出方式:借助单列集合的迭代方式
Map->Map.Entry的set集合-->迭代set集合得到键值
Map->Map的key集合-->迭代set集合得到键从而得到值
5.工具类:Collections提供了各种操作集合的方法,如排序、查找元素等。
小插曲:Arrays是数组的工具类
public static List asList(Object... a)返回的是一个固定长度的集合,不可再添加元素
- 集合(八)
- 集合初探(八)
- 【黑马程序员】集合(八)
- java(八)集合(1)
- java(八)集合(2)
- java(八)集合(3)
- java(八)集合(4)
- java(八)集合(5)
- C#学习笔记(八):集合
- GXPT(八)——List集合
- Mybatis系列(八)集合映射
- Java基础知识 八 集合(Collection、List)
- Java基础(八)——集合
- 黑马程序员 八、集合框架(2)
- JavaSE(八)之集合概述
- Oracle(八)--------------------集合运算
- hibernate 八,集合映射
- 【数据结构 八】---集合类
- hadoop2.0集群搭建详解
- Eclipse调试技巧
- SSH整合时出现的Unable to instantiate Action异常
- 卷积
- java--代理
- 集合(八)
- linux kernel goodness计算分析
- mysql的安装过程
- [Android]应用语言切换的三种方法
- MongoDB MapReduce 性能提升20倍的优化宝典
- 可扩展Web架构与分布式系统
- CF - 408 - B. Garland
- ubuntu 内核管理命令(简单)
- Apache Thrift - 可伸缩的跨语言服务开发框架