集合类(容器)

集合类又称容器,用来存放对象的引用。集合可以存储多个对象,对外作为一个整体存在

Collection接口

Collection接口: 存储一组 不唯一无序 的对象。

概念: Collection接口是层次结构中的接口,通常不能直接使用。List接口和Set接口都继承了Collection接口,所以对List集合与Set集合通用。

遍历集合通常使用 迭代器(Iterator) 实现。Collection接口中的iterator()方法可返回在此Collection进行迭代的迭代器。

List集合

List接口: 存储不唯一有序 的对象。

ArrayList类: 线性表中的顺序表,实现了可变的数组。

LinkedList类:线性表中的链表,实现了双向链表。

Set集合

Set接口:存储唯一无序的对象。

HashSet类: 基于哈希表的Set接口实现,速度快。 (无序)

LinkHashSet类: 采用哈希表存储结构的同时利用链表实现次序。 (有序)

TreeSet类: 采用二叉树(红黑树)的存储结构,速度较快。 (有序)

TreeSet集合存储类,类必须实现Comeparable接口(Comparable接口强行对实现它的每个类的对象进行整体排序。这种排序被称为类的自然排序,类的 compareTo 方法被称为它的自然比较方法。)

Map集合

Map接口: Map接口存储一组 键值 对象(键:所存值的编号;值:所存值的数据),未继承Collection接口,但提供了 key(唯一)value(不唯一) 的映射。

每个key只能映射一个value,key还决定了存储对象在映射中的存储位置。

import java.util.*;

public class EmpMap {
    public static void main(String[] args) {
        Map<String, String> M = new HashMap<>();
        Emp E1 = new Emp("1", "A");
        Emp E2 = new Emp("2", "B");
        Emp E3 = new Emp("3", "C");
        Emp E4 = new Emp("4", "D");
        Emp E5 = new Emp("5", "E");
        M.put(E1.ID,E1.Name);
        M.put(E2.ID,E2.Name);
        M.put(E3.ID,E3.Name);
        M.put(E4.ID,E4.Name);
        M.put(E5.ID,E5.Name);
        Set<String> S=M.keySet();
        Collection <String>C=M.values();
        Iterator<String>it=S.iterator();
        Iterator<String>is=C.iterator();
        System.out.println("HashMap类实现的Map集合:");
        while(it.hasNext())
        {
            System.out.println(it.next()+" "+is.next());
        }
        System.out.println("HashMap类的Key:");
        System.out.println(M.keySet());
        System.out.println("HashMap类的Value:");
        System.out.println(M.values());
        System.out.println("Map类:");
        System.out.println(M);
    }
}
class Emp{
    protected String ID;
    protected String Name;
    public Emp(String ID,String Name){
        this.ID=ID;
        this.Name=Name;
    }
}

输出结果:
在这里插入图片描述

HashMap类: 基于哈希表的Map接口的实现,速度快。(无序)

LinkedHashMap类: 基于哈希表的Map接口的实现,同时利用链表实现次序。(有序)

TreeMap类: 基于二叉树(红黑树)的Map接口的实现,不仅实现了Map接口,还实现了java.util.SortedMap接口,使得元素有一定的顺序。(有序)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值