杭州外贸网站多少钱,公司的研究与开发,wordpress 打不开页面,网站开发个人感想集合高级
Collection集合
数组和集合的区别
相同点
都是容器,可以存储多个数据
不同点
数组的长度是不可变的,集合的长度是可变的数组可以存储基本数据类型和引用数据类型
集合只能存储引用数据类型,如果要存基本数据类型,需要存对应的包装类
集合类体系结构 Collectio…集合高级
Collection集合
数组和集合的区别
相同点
都是容器,可以存储多个数据
不同点
数组的长度是不可变的,集合的长度是可变的数组可以存储基本数据类型和引用数据类型
集合只能存储引用数据类型,如果要存基本数据类型,需要存对应的包装类
集合类体系结构 Collection集合概述和使用
Collection集合概述
是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素JDK不提供此接口的任何实现,它提供更具体的子接口(如Set和List)实现
创建Collection集合的对象
多态的实现集体的实现类
Collection集合常用方法
方法名说明boolean add(E e)添加元素boolean remove(Object o)从集合中移除指定的元素boolean removelf(Object o)根据条件进行移除void clear()清空集合中的所有元素boolean contains(Object o)判断集合中是否存在指定的元素boolean isEmpty()判断集合是否为空int size()集合的长度,也就是集合中元素的个数
Collection集合的遍历
迭代器
迭代器,集合的专用遍历方式Iterator(); E iterator(); 返回此集合中元素的迭代器,通过集合对象的iterator()方法得到
Iterator中的常用方法
方法名说明boolean hasNext();判断当前位置是否有元素可以被取出E next();获取当前位置的元素, 将迭代器对象移向下一个索引位置
集合的遍历
public class IteratorDemo1 {public static void main(String[] args) {//创建集合对象CollectionString c new ArrayList();//添加元素c.add(hello);c.add(world);c.add(java);c.add(javaee);//IteratorE iterator()返回此集合中元素的迭代器通过集合的iterator()方法得到IteratorString it c.iterator();//用while循环改进元素的判断和获取while (it.hasNext()) {String s it.next();System.out.println(s);}}
}
迭代器中删除的方法
void remove(); 删除迭代器对象当前指向的元素
public class IteratorDemo2 {public static void main(String[] args) {ArrayListString list new ArrayList();list.add(a);list.add(b);list.add(b);list.add(c);list.add(d);IteratorString it list.iterator();while(it.hasNext()){String s it.next();if(b.equals(s)){//指向谁,那么此时就删除谁.it.remove();}}System.out.println(list);}
}
List集合
概述
有序集合,这里的有序指存取顺序用户可以精准控制列表中每个元素的插入位置,用户可以通过整数索引访问元素,并搜索列表中的元素与Set集合不同,列表通常允许重复元素
List集合的特点
存取有序可以重复有索引
特有方法
方法名说明void add(int index, E element)在此集合中的指定位置插入指定的元素E remove(int index)删除指定索引处的元素,返回被删除的元素E set(int index,E element)修改指定索引处的元素,返回被修改的元素E get(int index)返回指定索引处的元素
数据结构
栈结构
先进后出
队列机构
先进先出
数据结构之数组和链表
数组结构
查询快, 增删慢
队列结构
查询慢,增删快
List集合的实现类
List集合子类的特点
ArrayList集合
底层是数组结构实现,查询快,增删慢
LinkedList集合
底层是链表结构实现,查询慢,增删快
LinkedList集合的特有功能
方法名说明public void addFirst(E e)在该集合开头插入指定元素public void addLast(E e)将指定的元素追加到此列表的末尾public E getFirst()返回此列表中的第一个元素public E getLast()返回此列表中的最后一个元素public E removeFirst()从此列表中删除并返回第一个元素public E removeLast()从此列表中删除并返回最后一个元素
Set集合
概述和特点
不可以储存重复元素没有索引,不能使用普通for循环遍历
TreeSet集合
特点
不可以存储重复元素没有索引可以将元素按照规则进行排序
TreeSet(); 根据其元素的自然排序进行排序TreeSet(Comparator comparator); 根据指定的比较器进行排序
HashSet集合
概述与特点
底层数据结构是哈希表存取无序不可以储存重复元素没有索引,不能使用普通for循环遍历
哈希值
简介
是JDk根据对象的地址或者字符串或者数字算出来的int类型的数值
如何获取哈希值
Object类中的public int hashCode(); 返回对象的哈希码值
哈希值的特点
同一个对象多次调用hashCode()方法返回的哈希值是相同的默认情况下,不同对象的哈希值是不同的. 而重写hashCode()方法,可以实现让不同对象的哈希值相同
总结:
hashSet集合储存自定义类型的元素,想要实现元素的唯一,要求必须重写hashCode方法和equals方法
Map集合
概述
interface MapK,V K键的类型V值的类型
特点
双列集合, 一个键对应一个值键不可以重复,值可以重复
常用方法
方法名说明V put(K key, V value)添加元素V remove(Object key)根据键删除键值对元素void clear()移除所有的键值对元素boolean containsKey(Object key)判断集合是否包含指定的键boolean containsValue(Object value)判断集合是否包含指定的值boolean isEmpty()判断集合是否为空int size()集合的长度,也就是集合中键值对的个数 Map集合的获取功能
方法名说明V get(Object key)根据键获取值Set K keySet()获取所有键的集合Collection V values()获取所有值的集合Set Map.Entry K,V entrySet获取所有键值对对象的集合
HashMap集合
概述和特点
HashMap底层是哈希表结构的依赖hashCode方法和equals方法保证键的唯一如果键要存储的是自定义对象,需要重写hashCode和equals方法
TreeMap集合
概述和特点
TreeMap底层是红黑树结构依赖自然排序或者比较器排序,对键进行排序如果键存储的是自定义对象,需要实现Comparable接口或者在创建TreeMap对象时候给出比较器排序规则