JAVA 面向对象 集合框架

1.Java集合框架提供了一套性能优良、使用方便的接口和类,它们位于java.util包中

          如果并不知道程序运行时会需要多少对象,或者需要 更复杂方式存储对象——可以使用Java集合框架

2.java集合框架包括接口、具体类、算法

             接口:Collection:List(ArrayList,LinkedList)           Set(HashSet , TreeSet)

                        Map(HashMap , TreeMap)

             具体类:

             算法:Collections(提供了对集合进行排序,遍历等多种算法的实现

3.Collection接口存储一组不唯一、无序的对象

List接口存储一组不唯一、有序(插入顺序)的对象

Set接口存储一组唯一、无序的对象
Map接口存储一组键值对象,提供key到value的映射(键不可以重复,值可以)

4.List接口的实现类

ArrayList实现了长度可变的数组,在内存中分配连续的空间。遍历元素和随机访问元素的效率比较高

  List  list=new ArrayList();

使用<>泛型集合:

List<元素所属类>=new ArrayList<元素所属类>();

LinkedList采用链表存储方式。插入、删除元素时效率比较高

 使用泛型集合更安全 ,且方法不需要进行强制类型转换

5.List接口常用方法

方法名 说明
boolean add(Object o) 在列表的末尾顺序添加元素,起始索引位置从0开始
void add(int index,Object o) 在指定的索引位置添加元素。索引位置必须介于0和列表中
元素个数之间
int size() 返回列表中的元素个数
Object get(int index) 返回指定索引位置处的元素。取出的元素是Object类型,使
用前需要进行强制类型转换
boolean contains(Object o) 判断列表中是否存在指定元素
boolean remove(Object o) 从列表中删除元素
Object remove(int index) 从列表中删除指定位置元素,起始索引位置从0开始

6.LinkedList的特殊方法

方法名 说明
void  addFirst(Object o) 在列表的首部添加元素
void  addLast(Object o) 在列表的末尾添加元素
Object  getFirst() 返回列表中的第一个元素
Object  getLast() 返回列表中的最后一个元素
Object  removeFirst() 删除并返回列表中的第一个元素
Object  removeLast() 删除并返回列表中的最后一个元素

7.Map接口常用方法

方法名 说明
Object put(Object key, Object val) 以“键-值对”的方式进行存储
Object get (Object key) 根据键返回相关联的值,如果不存在指定的键,返
回null
Object remove (Object key) 删除由指定的键映射的“键-值对”
int size() 返回元素个数
Set keySet () 返回键的集合
Collection values () 返回值的集合
boolean containsKey (Object key) 如果存在由指定的键映射的“键-值对”,返回true

8.遍历Map方法
迭代器Iterator
增强for循环:语法 for(元素类型t 元素变量x:数组或集合对象){
引用了x的Java语句
}

9:Set特性:

确定性:对任意对象都能判定其是否属于某一集合

互异性:集合中每个元素都是无差异的(内容差异)

无序性:集合内的顺序无关

         HashSet:基于散列函数集合,无序,不支持同步

Set   TreeSet :基于    对结构的集合,可排序,不支持同步

        LinkedHashSet:基于散列函数和双何链表集合,可排序,不支持同步

10:HashSet 方法(无序)

              Set    s=new HashSet();

              Set <元素所属类 ,eg:Integer>   s  = new HashSet<元素所属类>();

              s.add();添加              s.size();       个数

              s.remove();删除            s.clear();  清空所有元素

              s.contains;  判断集合是否又该元素

              Set1.retain All(Set2)         计算1和2 的交集

              System.out.println("交集是"+Set1);

              eg :  Set<String >set1=new Hashset<String>();

                     Set <String>set2=new Hashset<String>();

11:LinkedHashSet:(可排序的,元素插入顺序

        继承HashSet,也是基于HashMap实现,可容纳null元素,不支持同步

        Set   s=new LinkedHashSet();

        Set <元素属性  eg:Integer> s=new LinkedHashSet<元素所属类>();          

         泛型方法和Hashset 一致(add,clear,remove,size,contains,retainAll)

         通过一个双向链表维护插入顺序

12:Tree Set 方法(可排序,按照存储对象从小到大顺序进行排序)        

        基于Tree Map 实现,不可有效null元素,不支持同步

        Set  s=new Treeset();

        Set<元素所属类   eg:Integer  >  s  =new  TreeSet<元素所属类>();

        泛型方法(add,clear,remove,size,contians,retainAll)

       根据compare     to  方法或指定 comparator排序

原文地址:https://www.cnblogs.com/zjx-959/p/13042664.html