集合框架
2016-05-29 17:42
330 查看
集合框架
JCF(java collections framework)为了解决某一个特定问题,预先设计好的一系列具有继承或实现关系的类与接口:框架
工具类:Collections操作集合,arrays操作数组;
集合分为list,map,set;3个分支;
Iterator迭代器(遍历接口);工具接口:Comparable内部比较器(由被比较的元素自己实现)—-Comparator外部比较器;同时存在时外部比较器起作用;
泛型:是用来限定集合对象只能放入某种类型的元素;
遍历:将集合中的元素每个都访问一次;
一旦重写了equals方法,就要重写HashCode,equals返回真,hashCode相等;
List
列表: 特点:线性(有序),集合内的元素的放置是有序的,可以通过前一个元素找到下一个元素;方法:add();remove();get();set();size();
Arraylist(底层数据结构就是数组,用于查询,末尾增删数据,线程不安全);
Linkedlist(相邻两元素可以互指,底层数据结构是双向列表,用于中间增加或删除数据);
Vector(底层数据结构就是数组,线程安全);
Set
集;元素不能重复;方法:add();remove();size();
HashSet:
Set集合根据两个对象的equals方法和hashCode方法来判断两个对象是否重复,equals返回真,hashCode相等;
结论:严格意义上一旦重写了equals方法就要重写hashcode方法;equals返回真,hashCode相等;equals返回false,hashCode不要求不相等;
Map
映射;键值对存放数据(key–value);key不能重复,value可以重复;
方法:put()(增加元素用put方法:键不重复时;作为修改元素方式:键重复时);get();KeySet();values();remove();
Hashmap();
TreeMap();
Hashtable();
Collections
addAll(),sort():shuffle();arrays
1.相关文章推荐
- java笔记之重写,抽象
- 关系型数据库
- 第二冲刺阶段——站立会议第五天5月29日
- 第二冲刺阶段——个人工作总结05
- CSS3 Transition
- Java网络编程
- Python的100道经典算法题(1)
- zoj 2340 Little Jumper(三分 物理好题)
- 常见的块状元素与内联元素
- spring MVC配置详解
- Android 消息循环机制之ThreadLocal 类详解
- Hadoop 的 Oozie 工作流管理引擎的实际应用(一)
- 剑指offer之编程(十四)
- 高性能JavaScript模板引擎原理解析
- 《C++ Primer》 chapter 15 TextQuery
- Syntax error,parameterized types are only available if source level is 5.0
- ACM 数论 hdu 1492 The number of divisors(约数) about Humble Numbers
- linux 设备与驱动的绑定
- iOS 网络篇6—NSURLConnection基本使用
- python遇到SyntaxError: Non-ASCII character '\xc3' in file pic2char.py on line 4, but coding declared;