博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java集合体系
阅读量:4143 次
发布时间:2019-05-25

本文共 3176 字,大约阅读时间需要 10 分钟。

一、集合体系

这里写图片描述

二、集合分类以及特性

这里写图片描述

这里写图片描述

三、Collection接口方法

#####  Collection是最基本的集合接口,一个Collection代表一组 Object,即Collection的元素(Elements)。一些Collection允许相同的元素而另一些不行。一些能排序而另一些不行,于是衍生出两个子类接口List和Set

1.添加功能

boolean add(Object obj)向集合中添加一个元素

    boolean addAll(Collection c) 向集合中添加一个集合的元素
#####2.删除功能
    void clear():删除集合中的所有元素
    boolean remove(Object obj):从集合中删除指定的元素
    boolean removeAll(Collection c):从集合中删除一个指定的集合元素

3.判断功能

boolean isEmpty():判断集合是否为空

    boolean contains(Object obj):判断集合中是否存在指定的元素
    boolean containsAll(Collection c):判断集合中是否存在指定的一个集合中的元素

4.遍历功能

Iterator iterator():就是用来获取集合中每一个元素

5.长度功能

int size():获取集合中的元素个数

6.交集功能

boolean retainAll(Collection c):判断两个集合中是否有相同的元素

7.把集合转换成数组

Object[] toArray(): 把集合变成数组

     T[] toArray(T[] a) : 把集合变成数组(指定数组类型)


四、List接口方法

List接口下的集合元素存储有序,可以重复.以下为List特有功能:
1.添加功能

void add(int index, Object obj):在指定位置添加元素

2.删除功能

Object remove(int index):根据指定索引删除元素,并把删除的元素返回

3.修改功能

Object set(int index, Object obj):把指定索引位置的元素修改为指定的值,返回修改前的值

4.获取功能

int indexOf(Object o):返回指定元素在集合中第一次出现的索引

    Object get(int index):获取指定位置的元素
    ListIterator listIterator():列表迭代器

5.截取功能

List subList(int fromIndex, int toIndex):截取集合。左闭右开[0,200)


五、Map接口方法

1.添加功能

V put(K key ,V value) :当key在集合中不存在是,添加元素;当key存在时替换元素

2.判断功能

boolean containsKey (Object key) :判断指定的键是否在集合中存在

    boolean containsValue(Object value):判断指定的值是否在集合中存在
    boolean isEmpty() :判断集合是否为空

3.删除功能

void clear():清除所有键值对数据

4.获取功能

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

    Set entrySet() 获取所有的Entry
    Set keyset(): 所有键的集合
    Collection values() :所有值的集合

5.长度功能

Int size()


六、集合的遍历

1.list遍历

1)普通for循环
List
list = new ArrayList
(); for(int i=0; i
2)加强for循环
List
list = new ArrayList
(); for(User user : list){ System.out.println(user); }
3)通过迭代器循环
List
list = new ArrayList
(); Iteratror
it = list.iterator(); while(it.hasNext()){ User user = it.next(); // 没有声明泛型的话,要强转 }

2.map遍历(map里面是没有iterator方法的,只能通过map.entrySet(), map.keySet(), map.values()得到)

1)通过map.entrySet()得到entrySet使用iterator遍历
Map
map = new HashMap
(); Iterator
> it = map.entrySet().iterator(); while(it.hasNext()){ Map.Entry
entry = it.next(); Integer key = entry.getKey(); String value = entry.getValue(); }
2)通过map.entrySet()得到entrySet使用加强for循环
Map
map = new HashMap
(); Set
> set = map.entrySet(); for(Map.Entry
entry : set){ Integer key = entry.getKey(); String value = entry.getValue(); }
3)通过map.keySet()得到keySet的加强for循环(KeySet也有iterator)
Map
map = new HashMap
(); Set
set = map.keySet(); for(Integer in : set){ Integer key = in; String str = map.get(in); }
4)通过map.values()得到values的加强for循环(但是好像拿不到key, Values也有iterator)
Map
map = new HashMap
(); Collection
values = map.values(); for(String value : values){ String in = value; }

参考网址

注:文章是经过参考其他的文章然后自己整理出来的,有可能是小部分参考,也有可能是大部分参考,但绝对不是直接转载,觉得侵权了我会删,我只是把这个用于自己的笔记,顺便整理下知识的同时,能帮到一部分人。

ps : 有错误的还望各位大佬指正,小弟不胜感激

你可能感兴趣的文章
海量数据相似度计算之simhash和海明距离
查看>>
DeepLearning tutorial(5)CNN卷积神经网络应用于人脸识别(详细流程+代码实现)
查看>>
DeepLearning tutorial(6)易用的深度学习框架Keras简介
查看>>
DeepLearning tutorial(7)深度学习框架Keras的使用-进阶
查看>>
流形学习-高维数据的降维与可视化
查看>>
Python-OpenCV人脸检测(代码)
查看>>
python+opencv之视频人脸识别
查看>>
人脸识别(OpenCV+Python)
查看>>
6个强大的AngularJS扩展应用
查看>>
网站用户登录系统设计——jsGen实现版
查看>>
第三方SDK:讯飞语音听写
查看>>
第三方SDK:JPush SDK Eclipse
查看>>
第三方开源库:imageLoader的使用
查看>>
自定义控件:飞入飞出的效果
查看>>
自定义控件:动态获取控件的高
查看>>
第三方开源库:nineoldandroid:ValueAnimator 动态设置textview的高
查看>>
第三方SDK:百度地图SDK的使用
查看>>
Android studio_迁移Eclipse项目到Android studio
查看>>
JavaScript setTimeout() clearTimeout() 方法
查看>>
CSS border 属性及用border画各种图形
查看>>