集合总结

集合:集合是java中提供的一种容器,可以用来存储多个数据。
数组:数组是java中提供的一种容器,可以用来存储多个数据。

集合和数组的区别:
数组长度不可变,集合长度可变
数组存储元素类型一致,集合中的元素可以不一致,但是建议一致
定义数组只能是基本数据类型, 定义集合只能是引用数据类型

单列集合:Collection : 单列集合根接口 包: java.util this: Collection中定义了单列集合(List和Set)通用的一些方法,这些方法可用于操作所有的单列集合
部分常用方法 - public boolean add(E e): 把给定的对象添加到当前集合中 。
- public void clear() :清空集合中所有的元素。
- public boolean remove(E e): 把给定的对象在当前集合中删除。
- public boolean contains(E e): 判断当前集合中是否包含给定的对象。
- public boolean isEmpty(): 判断当前集合是否为空。 判断集合中是否有元素
- public int size(): 返回集合中元素的个数。
- public Object[] toArray(): 把集合中的元素,存储到数组中。
- public Iterator iterator(): 获取集合对应的迭代器,用来遍历集合中的元素的。
(接口)
~List: 特点_元素存取有序,有索引 ,元素可以重复 可以使用普通for循环和迭代器遍历 包:java.util.List
public void add(int index, E element) : 将指定的元素,添加到该集合中的指定位置上。
public E get(int index) :返回集合中指定位置的元素。
public E remove(int index) : 移除列表中指定位置的元素, 返回的是被移除的元素。
public E set(int index, E element) :用指定元素替换集合中指定位置的元素,返回值的更新前的元素。
实现集合类:
使用最普遍 →→→ ArrayList 数组结构.元素增删慢,查找快 包:java.util.ArrayList
LinkedList 链表结构.查找慢.增删快 包:java.util.LinkedList
public void addFirst(E e) :将指定元素插入此列表的开头。
部分方法 public void addLast(E e) :将指定元素添加到此列表的结尾。
public E getFirst() :返回此列表的第一个元素。
public E getLast() :返回此列表的最后一个元素
public E removeFirst() :移除并返回此列表的第一个元素。
public E removeLast() :移除并返回此列表的最后一个元素。
public E pop() :从此列表所表示的堆栈处弹出一个元素。
public void push(E e) :将元素推入此列表所表示的堆栈。
public boolean isEmpty() :如果列表不包含元素,则返回true

                                       vector 
                    

                         (接口)
                     ~SET:特点_元素无序,无索引,不可重复          包:java.util.Set 
                                                   tips:Set集合取出元素的方式可以采用:迭代器、增强for                (不能使用普通for循环遍历)
                                         实现集合类:
                                               HashSet :  数据结构:哈希表(哈希表是由数组+链表+红黑树(JDK1.8增加了红黑树部分)实现的)       包java.util.HashSet
                                                                                   this:HashSet 根据哈希值查找数据,拥有良好存取和查找性能...保证元素唯一性 的方式依赖于:hashCode(查询哈希值) 与 equals 方法
                                                        
                                                HashSet的子类LinkedHashSet : 数据结构:链表+哈希表    (特点:有序,无索引,不能重复)     包:java.util.LinkedHashSet


                                     TreeSet 
                                                                 


                     区分: 
                                    Collection 中的集合,元素是孤立存在的(理解为单身),向集合中存储元素采用一个个元素的方式存储。 
                                              Map 中的集合,元素是成对存在的(理解为夫妻)。每个元素由键与值两部分组成,通过键可以找对所对应的 值

双列集合:Map : 双列集合根接口 包:java.util.Map 特点:
public V put(K key, V value) : 把指定的键与指定的值添加到Map集合中。
public V remove(Object key) : 把指定的键 所对应的键值对元素 在Map集合中删除,返回被删除元素的 值。
public V get(Object key) 根据指定的键,在Map集合中获取对应的值。
public Set keySet() : 获取Map集合中所有的键,存储到Set集合中。
public Set<Map.Entry<K,V>> entrySet() : 获取到Map集合中所有的键值对对象的集合(Set集合)。

                           HashMap 集合类     推荐
                                               LinkedHashMap 集合类
                       TreeMap 集合类
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值