JAVA之容器

本文深入探讨了Java集合框架的核心概念,包括Set、List的特点及应用场景;Iterator接口与增强for循环的使用;Collections类的功能;数据结构的选择依据;以及Map接口及其实现类的特点,如HashMap和TreeMap等。

1. 容器

  • 容器: Java API 所提供的一系列类的实例,用于在程序中存放对象

    • 这里写图片描述
  • Set中的数据对象没有顺序且不可以重复。(类似数学里面的集合)

  • List中的数据对象有顺序且可以重复。
  • List容器中的元素都对应一个整数型的序号记载其在容器中的位置,可以根据序号存取容器中的元素
public class demo01 {
    public static void main(String[] args) {
        // 用父类引用指向子类对象,提供最大灵活性,即便换成其他子类也不用改变代码 :如 LinkedList
        Collection c = new ArrayList(); 
        c.add("hell world");
        c.add(new Name("f1","11"));
        c.add(new Integer(100));
        System.out.println(c.size());
        System.out.println(c);
    }
}

当某个类的对象被当做键值使用(索引)时,需要重写equals和hashCode方法
以实现自定义的对象相等规则。

2. Iterator 接口

这里写图片描述

3.增强的for循环

这里写图片描述

4. Collections 类

这里写图片描述

5. Comparable 接口

这里写图片描述

6. 如何选择数据结构

衡量标准: 读的效率和改的效率
* Array 读快改慢
* Linked改快读慢
* Hash 两者之间

7. Map接口

  • 实现Map接口的类用来存取键-值对
  • Map接口的实现类有HashMap和TreeMap等
  • Map类中存储的键-值对通过键值来标识,所以键值不能重复

    Object put(Object key, Object value); // 返回值是Object类型,这个对象是被替换前的value值

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值