Java的学习之路——集合

  1. 集合

Java集合可以把多个对象的引用放入容器中

    1. Java中的集合分为Set List和Map三种体系

Set 无序,不可重复的集合,set是以map为底层实现

List有序,可重复的集合,list接口是以数组为底层实现,是有序的

Map:具有映射关系的集合,key-value(键值对),map接口底层是hash函数,无序(不是随机)

 

    1. Collection是接口 Collections是Collection的工具类
      1. Collection接口中常用的函数

add(E e) //添加对象

addAll(Collection<? extends E> c)//添加集合

clear()//清除

contains(Object o)//判断对象是否存在

containsAll(Collection<?> c)//判断集合是否存在

equals(Object o)是否相等

hashCode()

isEmpty()//判断是否为空

iterator()//迭代器

remove(Object o)//移除某个实例

removeAll(Collection<?> c)//移除某个集合

retainAll(Collection<?> c)//仅保留指定集合中元素

size()//元素的个数

toArray()//转换为数组

toArray(T[] a)//转换 为指定类型的数组

      1. 遍历方式

方法一:foreach遍历

    方式二:使用迭代器Iterator

                1.得到迭代器   调用iterator()方法

                2.迭代(遍历)

                      iterator.hasnext();//下个元素是否有

                      iterator.next();  //获取下个元素

                       

 

      1. Iterator接口用于遍历Collection中的元素

Iterator对象也被称为迭代器

Iterator仅能用于遍历集合

hasNext()//判断下一位是否存在

next()//获取下一位如何遍历

  1. List是一个接口,其中可以可以存放的是有序的,可重复的元素集合中的每个元素都有其对应的索引

常用的实现类 ArrayList、LinkedList

ArrayList 是对象引用的一个变长的数组

LinkedList采用链表的方式存储

ArrayList与LinkedList的对比

ArrayList 遍历元素和随机访问元素的效率比较高,插入、删除等操作频繁时性能低下

LinkedList 插入、删除元素时效率较高,查找效率低

 

List中常用的方法

void add(int index, Object ele)

boolean addAll(int index, Collection eles)

Object get(int index)

int indexOf(Object obj)

int lastIndexOf(Object obj)

Object remove(int index)

Object set(int index, Object ele)

 List subList(int fromIndex, int toIndex),toIndex取不到

 

    1. ArrayList常用的方法

void add(Object ele)

void add(int index, Object ele)

 Object get(int index)

int indexOf(Object obj)

Object remove(int index)

Object set(int index, Object ele)

boolean isEmpty()    //判断是否为空

boolean contains(Object obj)  判断集合中是否包含obj

 

    1. 遍历的三种方式

foreach

迭代器

利用size()与get()方法

 

    1. 修改的两种方式

set()直接设置

get()获取对象,对对象进行修改(引用数据类型传递的是地址)

 

    1. LinkedList常用的方法

void addFirst(Object object) 将给定元素插入当前集合头部

void addLast(Object object) 将给定元素插入当前集合尾部

Object getFirst()  获取当前集合的第一个元素

Object getLast()  获取当前集合的最后一个元素

Object removeFirst() 移除并返回当前集合的第一元素

Object removelast() 移除并返回当前集合的最后一个元素

 

    1. 泛型:用于指定集合中可以存储的元素类型(在集合中的使用)

 

  1. Set接口:Set存放的元素是无序的(不是随机的),不可重复的

Set没有get()方法

遍历只有两种方式foreach与ITerator方式

可以利用Set对List进行去重处理(遍历赋值)

 

  1. Map接口,map存放的都是键值对 key-value(根据键去找值)

Key 和 Value 之间存在单向一对一关系,即通过指定的 Key 总能找到唯一的,确定的 Value

key不允许重复,value可以重复

key和value都必须是引用类型的数据

主要实现类:HashMap

建议使用String作为键

 

    1. Map中常用的方法

Object put(key,value)  条件

Object remove(Object key) // 删除(根据键来删除键值对)返回值是要删除的键所对应的值,key不存在返回null

Object get(Object key)    获取指定键的值,若存在返回对应的值,否则返回null

boolean containsKey(key) 判断集合中是否存在关键字key

boolean containValue(value) 判断集合中是否 存在value

boolean isEmpty(0   判断集合中是否存在元素

int siez() 获取元素(键值对)的个数

SetkeySet()  获取所有键Key的集合

Collection values() 获取所有值value的集合

void clear() 清除元素(所有)

    1. 遍历方式
      1. 遍历键

foreach

Iterator

      1. 遍历值

foreach

Iterator

遍历键利用get获取值

       

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值