Java_集合操作_List与Set与Map概括
来源:互联网 发布:必应词典 mac 编辑:程序博客网 时间:2024/05/16 12:50
List:有序的,带索引的,通过索引就可以精确的操作集合中的元素,元素是可以重复的。提供了增删改查动作
增加add(element) add(index,element) ;删除remove(element) remove(index);
修改set(index,element);
查询get(index);
|--Vector:可以增长的数组结构。同步的。效率非常低。已被ArrayList替代。
|--ArrayList:是数组结构,长度是可变的(原理是创建新数组+复制数组),查询速度很快,增删较慢,不同步的。
|--LinkedList:是链表结构,不同步的,增删速度很快,查询速度较慢。可用于实现堆栈,队列。
Set:不包含重复元素的集合,不保证顺序。而且方法和Collection一致。Set集合取出元素的方式只有一种:迭代器。
|--HashSet:哈希表结构,不同步,保证元素唯一性的方式依赖于:hashCode(),equals()方法。查询速度快。
|--TreeSet:可以对Set集合中的元素进行排序。使用的是二叉树结构。如何保证元素唯一性的呢?
使用的对象比较方法的结果是否为0,是0,视为相同元素不存。
元素的排序比较有两种方式:
1,元素自身具备自然排序,其实就是实现了Comparable接口重写了compareTo方法。
如果元素自身不具备自然排序,或者具备的自然排序不是所需要的,这时只能用第二种方式。
2,比较器排序,其实就是在创建TreeSet集合时,在构造函数中指定具体的比较方式。
需要定义一个类实现Comparator接口,重写compare方法。
到此为止:再往集合中存储对象时,通常该对象都需要覆盖hashCode,equals,
同时实现Comparale接口,建立对象的自然排序。通常还有一个方法也会复写toString();
Map:
|--Hashtable:数据结构:哈希表。是同步的,不允许null作为键和值。被hashMap替代。
----|--Properties:属性集,键和值都是字符串,而且可以结合流进行键值的操作。
|--HashMap:数据结构:哈希表。不是同步的,允许null作为键和值。
----|--LinkedHashMap:基于链表+哈希表。可以保证map集合有序(存入和取出的顺序一致)。
|--TreeMap:数据结构:二叉树。不是同步的。可以对map集合中的键进行排序。
0 0
- Java_集合操作_List与Set与Map概括
- Java_集合操作_List转换为数组
- 黑马程序员Java知识回顾之集合_list与set
- Java_集合_List
- set 集合与 map集合
- List、Map与Set集合
- 集合:set 与 映射 map
- java 集合set与Map
- Java_集合操作_使遍历Map时取出的元素顺序与放入时一致
- Day07 set集合与map集合
- Java集合研究一:Set与Map
- Set,Map集合与数组互转
- Java_集合操作_合并两个map
- 9.29 集合set与映射map 之map
- set容器与map容器基本操作
- 【Java集合框架】Map与Set的有序与无序
- Redis 集合(Set)介绍与基本操作
- Java_集合—Set
- 各种排序
- UVa 1644 - Prime Gap(筛选求素数)
- centos外接屏幕调节方法
- contiki 源码分析之CPU(二)(cpu / cc253x)
- 关于Ubuntu 中设置samba 用户访问
- Java_集合操作_List与Set与Map概括
- 【设计模式学习笔记六】【创建型模式】【建造者模式(Builder)】
- nodejs http 发送请求
- 仓储系统开发说明
- java设计模式-备忘录模式
- UVa 120 - Stacks of Flapjacks(构造法)
- Servlet学习笔记(四):Servlet的请求与响应
- EJB3在JBoss5内集群探究
- 转载"H5即将迎来黄金时代 轻应用再成行业焦点"