Java--集合篇

集合概念
集合 API
List 接口及实现类
List接口集合迭代
Set 接口
Set 接口集合迭代
Map 接口
Map 集合遍历
Collections类

1.集合概念

当我们需要保存一些变长的数据集合,不仅仅局限于数组,我们就需要一些能够动态增长长度的容器来保存我们的数据。而我们需要对数据的保存的逻辑可能各种各样,于是就有了各种各样的数据结构。Java中用集合对于各种数据结构的实现。


2.集合 API

单列Collection 接口
 Collection 接口-定义了存取一组对象的方法,其子接口 Set List 分别定义 了存储方式。
Set 中的数据对象不可以重复
List 中的数据对象有顺序 ( 添加顺序 ) 且可以重复

3.List 接口及实现类

ArrayList
数组列表,,在内存中分配连续的空间,遍历元素和随机访问元素的效率比较高
ArrayList的常用方法
add(E element)
add(int index, E element)
get(int index)
indexOf(Object o)
lastIndexOf(Object o)
remove(int index) 删除并返回指定位置元素
set(int index, E element)
LinkedList
链表   LinkedList采用链表存储方式。插入、删除元素时效率比较高
LinkedList的常用方法
add(int index,Object element)
addFirist(Object element)
addLast(Object element)
get(int index)
removeFirst()
removeLast()
remove(int index)
getFirst()
getLast()
Vector
数组列表,添加同步锁,线程安全的


4.List接口集合迭代

for循环遍历
增强for循环的遍历
迭代器遍历(Iterator)


5.Set 接口

Set接口继承了Collection接口。
Set中所存储的元素是不重复的,但是是无序的, Set中的元素是没有索引的
Set接口有两个实现类
HashSet
HashSet类中的元素不能重复
TreeSet
可以给Set集合中的元素进行指定方式的排序。存储的对象必须实现Comparable接口


6.Set 接口集合迭代

遍历方式
增强for循环
迭代器遍历


7.Map 接口

概述
将键映射到值的对象 ,一个映射不能包含重复的键 ,每个键最多只能映射到一个值
常用方法
V put(K key,V value)
V remove(Object key)
void clear()
boolean containsKey(Object key)
boolean containsValue(Object value)
boolean isEmpty()
int size()
V get(Object key)
Collection<V> values()
Set<K> keySet()
Set<Map.Entry<K,V>> entrySet()
HashMap
HashMap中元素的key值不能重复, 排列顺序是不固定的,可以存储一个 为null的键。
TreeMap
TreeMap中所有的元素都保持着某种固定的顺序,如果需要得到一个有序 的Map就应该使用TreeMap,key值所在类必须实现Comparable接口。
HashTable
实现了同步。
不能存储为null的键

8.Map集合遍历

方式1:根据键找值
获取所有键的集合
遍历键的集合,获取到每一个键
根据键找值
方式2:根据键值对对象找键和值
获取所有键值对对象的集合
遍历键值对对象的集合,获取到每一个键值对对象
根据键值对对象找键和值


9.Collections类

Collections 是集合类的工具类,与数组的工具类 Arrays 类似 .
addAl l(Col lection<? super T> c, T... elements);
binarySearch(List<? extends Comparable<? super T>> l ist, T key)
sort(List<T> l ist)
sort(List<T> l ist, Comparator<? super T> c)
swap(List<?> l ist, int i, int j)
copy(List<? super T> dest, List<? extends T> src) ; 注意 dest size 需大于等于 src.size
fi l l(List<? super T> l ist, T obj)
max(Col lection<? extends T> col l)
min(Col lection<? extends T> col l)
replaceAl l(List<T> l ist, T oldVal, T newVal)
reverse(List<?> l ist)
shuffle(List<?> l ist) 随机排序
copy(dest,src) 集合复制

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值