Java学习笔记

Collection<接口>集合

集合就是一个动态的可增删的对象空间或是容器。(new出来的就是对象)
Collection//Map
Collection直接继承于Iterable,记住了所有的Collection集合类都能支持直接使用for-each循环。(面向接口编程就要想到多种实现类之间的转化,也就是说多态)。
下面是一些Collection 接口的常用方法(所有他的实现类否可以使用的方法):

  • 增删方法
    add(E e)
    addAll(Collection<> c) 通常直接放如集合
    clear() 移除集合中的所有元素
    remove() 从集合移除指定元素的单个实例
    removeAll()
  • 查找方法
    contains(Object o) 有指定元素则返回true
    containsAll()
    equals(Obj o) 比较指定对象是否相等
    size() 返回集合中的元素数
    isEmpty() 集合不包含元素返回true
    <<-----------------------------------华丽分割线-------------------------------------->>
    hashCode() 返回哈希码值
    iterator() ************重要的迭代器,返回此集合上进行的迭代器
    toArray() 返回包含此集合中所有的元素的数组

List<接口>

List 是有序集合,索引访问元素,可以存在相同的元素对象
有序的和索引————所以遍历,查找较快
List下有直接的实现类ArrayList、LinkedList、Vector
LinkedList:链表式结构,有中间的缓冲区,修改效率高,查询慢

ArrayList 实现类

底层使用数组存储对象,查找效率高,每次空间不够时默认添加的大小为10
是一个动态的数组集合

Set<接口>

Set下的直接实现类主要有HashSet、LinkedHashSet、TreeSet
Set集合中的元素是无序且唯一的,可以存放null
HashSet: 用于对集合中的对象添加,修改,删除比较频繁的场景
LinkedHashSet: 用于对集合中的对象查询比较快
TreeSet: 用于对集合中对象进行自然排序,添加后元素自然有序,并且不允许null

HashSet

HashSet无序哈希集:是一个无序且唯一的哈希集,底层使用哈希表实现,每次空间不够时默认添加的大小为16

Map<接口>集合

Map的实现类有,HashMap、LinkedHashMap、TreeMap和HashTable.(HashMap使用频率最高)
映射关系:Key-Value
其中Key和Value 为任意数据类型;并且Key不允许重复
通过指定的Key总是能找到唯一的、确定的Value

LinkedHashMap:迭代的顺序与Key-Value对的插入顺序一致
下面是一些Map 接口的常用方法(所有他的实现类否可以使用的方法):

  • 增删方法//ObjObject//booleanbool
    Obj put(Obj key,Obj Value)
    Obj remove(Obj key)
    void putAll(Map t)
    void clear()
  • 查找方法
    Obj get(Obj key)
    bool containsKey(Obj key)
    bool containsValue(Obj value)
    int size()
    bool isEmpty()
    bool equals(Obj obj)
    <<-----------------------------------华丽分割线-------------------------------------->>
    Set keySet() 将Map 中的所有key值取出作为Set集合
    Collection values()
    Set entrySet()

HashMap 实现类

lterator迭代器接口

提供一种访问集合各元素,又不展现集合内部结构和实现的方法
标准过程1.定义遍历集合元素的方法。2.判断获取下一个(hasNext()判断//next()获取下一个元素)。

Set hs = new HashSet();//建立一个Set集合
//表示将set集合中的元素交给iterator迭代器,迭代器本身是不存储数据的
Iterator it = hs.iterator();
while(it.hasNext()){//判断是否有下一个元素
	//next 获取到当前元素,光标向下移动
	Object obj = it.next();
	System.out.println(obj+",");
}

Collections 工具

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值