“黑马程序员”-java集合笔记
来源:互联网 发布:手机怎么注册淘宝达人 编辑:程序博客网 时间:2024/06/05 05:10
---------------------- android培训,java培训、期待与您交流!----------------------
集合学习线路图:
List:存放有序,重复的元素的集合。
Set:存放无序,不重复的元素集合。
Map:以键,值对形式存放元素的集合。
List
|--ArrayList:底层是数据结构是线性表(数组)结构,查找快,插入和删除慢。
|--LinkedList:底层数据结构是链表,查找慢,插入和删除较快。
|--vector:跟ArrayList一样,被ArrayLis所取代。
Set
|--HashSet:底层数据结构是哈希表,线程不同步;
保证元素的唯一性:判断元素的hashcode是否相同,若果hashcode相同在次判断equals是否为ture。
|--TreeSet:可以对set集合的元素进行排序。底层数据机构是二叉树,线程不同步。
保证元素的唯一性:判断comparaTo方法的返回值是否为0;
Map
|--HashTable:底层数据机构是哈希表,不允许存放null Key和null Value。线程同步,效率低,jdk1.0。
|--HashMap:底层数据机构是哈希表,允许存放null Key和null value。线程不同步,效率高,jdk1.2。
|-TreeMap:可以对Map集合中的元素进行排序。底层数据机构是二叉树。线程不同步,效率高。
Iterator:迭代器,是集合的内部接口,用于遍历集合中的元素。
ListIterator:双向迭代器。是List集合中一个特殊的一个接口,它可以在遍历元素时对元素进行添加,删除,修改,获取索引,反向输出元素等操作。
Collections 工具类
使用该工具类操作集合,可以有效的减少代码的书写量。该类中有几个方法必须要掌握,以后开发都会用的上。
1.排序
static <T extends Comparable<? super T>> void sort(List<T> list) //对List集合中的元素按自然顺序排序
static <T> void sort(List<T> list, Comparator<? super T> c) //对立LIst集合中的元素按自定顺序排序
2.乱序
static void shuffle(List<?> list) //随机打乱List集合中的元素
3.查找
static <T> int binarySearch(List<? extends Comparable<? super T>> list, T key) //二分法查找
static <T> int binarySearch(List<? extends T> list, T key, Comparator<? super T> c)
4.查找极值
static <T extends Object & Comparable<? super T>> T max(Collection<? extends T> coll)
static <T> T max(Collection<? extends T> coll, Comparator<? super T> comp)
static <T extends Object & Comparable<? super T>> T min(Collection<? extends T> coll)
static <T> T min(Collection<? extends T> coll, Comparator<? super T> comp)
5.组成
static boolean disjoint(Collection<?> c1, Collection<?> c2) //判断两个集合中是否有相同元素。没有则返回true
static int frequency(Collection<?> c, Object o)
6.常规数据数据处理
static <T> boolean addAll(Collection<? super T> c, T... elements) //向集合中添加元素
static void reverse(List<?> list) //反转List集合中的元素
static <T> Comparator<T> reverseOrder() //逆转自然顺序
static <T> Comparator<T> reverseOrder(Comparator<T> comp) //逆转比较器
static <T> boolean replaceAll(List<T> list, T oldVal, T newVal) //替换list集合中的指定元素
static <T> void fill(List<? super T> list, T obj) //替换List中的所有元素
static <T> void copy(List<? super T> dest, List<? extends T> src) //复制List集合
static void swap(List<?> list, int i, int j) //交换List集合中元素的位置
7.线程同步集合
static <T> Collection<T> synchronizedCollection(Collection<T> c)
static <T> List<T> synchronizedList(List<T> list)
static <T> Set<T> synchronizedSet(Set<T> s)
static <K,V> Map<K,V> synchronizedMap(Map<K,V> m)
---------------------- android培训,java培训、期待与您交流!----------------------
- “黑马程序员”-java集合笔记
- 黑马程序员java笔记之一-----Map集合
- 黑马程序员-java集合 学习笔记
- 黑马程序员 java集合框架笔记(一)
- 黑马程序员 java集合框架笔记(二)
- 黑马程序员 java集合笔记(一)
- 黑马程序员 java集合笔记(二)
- 黑马程序员java学习笔记,集合
- 黑马程序员 java自学笔记 集合
- 黑马程序员-java基础-集合学习笔记
- 黑马程序员------java学习笔记之集合
- 【黑马程序员】 java笔记——集合
- 黑马程序员---java学习笔记之集合
- 黑马程序员-java学习笔记-集合框架
- 黑马程序员-java集合笔记之Collection
- 黑马程序员-java集合笔记之map
- 黑马程序员--java 知识回顾--集合笔记
- 黑马程序员之-------java集合笔记
- XStream使用之三
- 在线重定义表的测试和问题
- PB DataWindow 38个技巧
- 项目管理的专业英语
- Java RMI
- “黑马程序员”-java集合笔记
- vim中编辑不同编码的文件时需要注意的一些地方
- opencv 矩阵操作
- PHP常量声明、使用方法|define()函数定义常量类似于全局
- IOS学习书单
- EntityValidationErrors的解决方法
- DuiLib——第二篇UIBase
- DB2(Linux-CentOS)安装及编译环境搭建
- dom4j解析XML文件