集合框架

集合框架:方便对多个数组操作集合与数组的区别

集合:长度可变      存储不同类型的元素      只可以存储引用类型

数组:长度固定      储存同一种元素      可以存储基本类型,也可以存储引用类型

数据结构:数据的存储方式

PS:多个集合类的数据结构不同我们把这些集合类不断向上提取,我们就能够得到一个集合的继承体

老大Collection

功能:添加、删除、修改、获取、长度功能

 添加:boolean add(Object obj)

             boolean addAll(Collection c)添加一个集合的元素

删除:void clear();移除所有元素

            boolean remove(Object o)移除一个元素

            boolean removeAll(Collection c)

判断:boolean contains(Object obj)判断集合中包含一个元素

                           containsAll(Collection c)

                            sEmpt()是否为空

获取功能:Iteratoriterator()(重点)

                 Iterator it=c.iterator

                 it.next()

                 it.hainext()

长度功能:int size():元素个数

交集功能:boolean retainAll(Collection c)俩个集合都有的元素调用的集合只保存交集元素

把集合转换为数组

Object[] toArray()

List:存储和取出的元素一致,可重复(ArrayList.Vector.LinkedList)

添加功能void add(int index,Object element)指定位置添加

获取功能Object get(int index)获取指定位置的元素

列表迭代器ListIterator listIterator();list特有

接口特有功能:previous()倒着读PS:要逆向必须先正向

删除功能Object remove(int index)删除索引元素

修改功能Object set(int index,Object element)返回被修改的元素常见

数据结构:

栈、队列、数组、链表、树、哈希表面试题:常见的数据结构的优缺点栈:先进后出、压栈队列:先进先出数组:查询块,增删慢链表:由一个链子把多个节点连起来组成的数据,查询慢增删慢循环链表,双向链表,节点:数据和地址组成

ArrayList:阅读块增删慢,安全性低

删除功能:remove()

获取功能:get()set()

排序功能:sort(obj)

Vector:阅读快增删慢,安全性高

添加功能:public void addElement(Object obj)

获取功能:public Object elementAt(int index)

                    public Enumeration elements()

LinkedList:阅读慢增删快,安全性低

添加功能:Public void addFirst(Obj)    

                                        addlast

获取功能public Object getFirst()

删除功能Public Object removeFirst()

泛型:一种特殊的类型,把类型明确的工作推迟到创建对象或调用方法的时候才去明确类型

格式:<obj>规定这个类型

类声明命名后加方法构造调用(T t)

泛型方法:publicvoid show(T t){sysout(t);  }

泛型接口第一种已经知道什么类型

第二种不知道什么类型

泛型通配符:?: 任意类型

?extends E:向下限定包括自己和子类

?super E:向上限定自己和父类

增强for(元素数据类型 变量:数组或者Collection集合)

{使用变量即可,该变量是元素}

获取出来的值不能为null

静态导入

import导包的时候类名后加方法名

Math.abs=abs;

可变参数:定义方法不知道有几个参数

方法名(数据类型... 变量名)配合增强for使用

Arrays工具类

public staticListasList(T... a)数组转集合  PS:可以初始化集合但是不可以add只能增删

set:无序不重复

Hashset:实现不重复无序的俩个hashcode(),equals();

注意:Hashset无法不重复stu类,需重写hashcode()和equals();

hashcode:return this.name.hashCode()+this.age*15;

equals(Object obj):if(this==obj){

return true;}

if(!(obj instanceof Stdent)){

return false;}

Student s=(Student) obj;

return this.name.equals(S.name) &&this.age==s.age;

LinkedHashset:底层数据结构由哈希表和链表组成,哈希保证唯一,链表保证有序

TreeSet:

自然排序:比较时候以来comepareTo()方法方法是在Comparable里面的(二叉树结构)(红黑树是一种自平衡的二叉树)

比较器排序:public TreeSet(Comparator comparator)

Map:接口顶端,它可以存储键值对的元素,唯一不重复

Map集合和Collection集合区别:

Map集合存储元素是成对出现的集合是唯一的,值可以重复指针对键有效跟值无关Collection:存储是单独的,List可重复针对元素有效

添加功能:V put(K key, V value):添加元素,K相同的时候顶到之前的V并返回被顶掉的V

                        putAll

删除功能:void clear();移除所有键值对。

V remove (Object key):根据键删除键值对元素,并把值返回

判断功能:boolean containsKey(Object key):判断集合是否包含指定键

                    boolean containsValue(Object value):判断是否包含指定值

                    boolean isEmpty();判断是否为空

获取功能:Set<Map.Entry<K,V>>entrySet()返回的是键值对对象的集合

                     V get(Object key):根据键获取值

                     Set<K>obj = keySet():获取集合所有键

                     Collection<V>obj= values();获取之后所有值

长度功能:int size():返回集合中的键值对的对数

遍历:根据键找值,根据键值对象找键和值

HashMap:是基于哈希表的Map接口实现

哈希表的作用是用来保证键的唯一性的

TreeMap:键是红黑树结构,保证唯一性

LinkedHashMap:是Map接口的哈希表和链表列表的实现,具有可预知的迭代顺序

Collections:针对集合操作工具类,都是静态方法

public static<T>void sort(List <T>list)自然排序

                            int binarySearch(    ,T key):二分查找

                           T max(Collection<?> coll)最大值

                           void reverse(List <?>list):反转

                                   shuffle              随机置换

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 5分钟搞定java集合框架 java集合就是一个容器。 集合概述 l 为了保存 不确定的数据,或者对象...
    wangchuang2017阅读 3,297评论 0 0
  • 一、集合框架的概述 1、概述: 1、简述:所谓集合,就是为方便对多个对象的操作,对对象进行存储。集合就是存储对象最...
    玉圣阅读 3,508评论 0 4
  • Java中集合类的关系图(虚线框是接口 实线框是类) 一、集合 集合:就是用于存储对象地址的。 集合的特点1.用于...
    咸鱼有梦想呀阅读 3,097评论 0 2
  • 集合类的由来:对象用于封装特有数据,对象多了需要存储,如果对象的个数不确定。就使用集合容器进行存储。 集合特点:1...
    吃瓜群众liu阅读 1,839评论 0 0
  • 郑秋冬找曲闽京谈去南国时创的事情,并说明区长人选上头已经有了定论,很可能就是展天啸。曲闽京听到郑秋冬的话,惊讶他对...
    dyy水晶阅读 1,423评论 0 0