集合、框架

来源:互联网 发布:眼睛肌肉萎缩 知乎 编辑:程序博客网 时间:2024/05/16 19:20

集合的由来

1. 处理多个相同数据我们采用数组,但数组空间固定不能动态增长,插入或删除元素比较麻烦,才采用集合解决2. 集合特点:元素类型可以不同、集合长度可变、空间不固定。

框架:

1. 为了解决某个元素问题,预先设计好的一系列,既有继承或实现关系的类的接口2. Collection:  1. List:列表、线性:有序,表示集合当中元素的放置是有序的,     是指在集合内部可以通过前一个元素找到下一个元素  2. Set:集;集合当中的元素不能重复,使用自己内部的一个排列机制放置元素  (1. 操作一列数据,而且数据不重复     Set()方法,有add()-向集合中添加元素                 remove(Object o)-将元素从集合中移除                 size()-查看集合的长度)  3. Map:映射;存放数据都是键、值、对的形式,(键-值)键是不能重复的,  4. Iterator:迭代器,遍历集合;3. Compparable--Comparator:比较器(写入的是规则)

集合的选用限制

1. 操作一列数据,而且数据有重复时选择List接口的实现类2. List接口的实现类的选择   1.ArrayList:使用最广泛,几何元素增加或删除操作     3. 泛型:帮助我们某个集合对象,只允许放入某种类型元素
  1. ArrayList:底层实现用的数组,存放的元素都是在连续的内存空间中。
  2. LinkedList:底层实现使用的是链表,不是普通的链表,是双向链表,存放的元素没有连续的,每个元素后面都有下一个元素的引用;双向链表指 ,还能通过后面一个元素找到前一个元素。
  3. Vector:线程更加安全,底层结构也是数组
  4. 所有的集合都是存放的引用数据类型

一旦重写了equals方法,也要重写Hashcode()方法,来判断两个对象是否重复;要求:equals返回true,hashCode值要相同;

结论: 1. 一旦重写了equals方法,也要重写Hashcode()方法 , equals返回true,hashCode值要相同; 2. equals返回false,不要求hashCode返回值不相同;

Map接口

.1 .Map接口不是Collection接口的继承。Map接口用于维护键、值、对(key/value pairs)。方法:put()-将键值对存入集合     get()-根据键取出元素的值     keySet()-将Map中的所有的键取出形成一个Set     value()-将Map中的所有值取出形成一个Collection     remove()-根据键移除值   

  1. Comparable:内部比较器

     返回int指代是:this对象的索引-o对象的索引 返回正数-o排在this前面 返回负数-o排在this后面 返回0----o与this在位置上没有前后之分
  2. Comparator:外部比较器
0 0
原创粉丝点击