Java 中的几个开发常用的知识简介

原文:https://www.cnblogs.com/tangdiao/p/9513692.html

  1. 迭代器:
    (通过指针的挪动来依次获取集合中的每一个元素)
    Enumeration ---- 最早期的迭代器
    Iterator - 通过对每一个元素进行标记确定每一个元素的存在与否。因此在迭代的过程中不允许直接增删原集合。
    Collection 中的 iterator 方法是从 Iterable 中继承过来的
    实现了 Iterable 接口的类产生的对象可以被增强 for 循环进行遍历 — 增强 for 循环也是 JDK1.5 的特性之一。增强 for 循环本质上是一个迭代遍历。

  2. 泛型
    参数化类型 - ParameterizedType — JDK1.5 的特性之一
    用具体类型代替泛型的过程 — 泛型的擦除 — 发生在编译期

? extends 类/接口 表示传入这个类/接口或者是其子类/子接口的对象 — 上限
? super 类/接口 表示传入这个类/接口及其父类/父接口的对象 — 下限
? 表示泛型的通配符

  1. Map - 映射
    一个键对应值。键是唯一的,值是可以重复的。
    每一个键和它所对应的值构成了键值对。 — 一个 Map 是由多个键值对来组成。
    将每一个键值对看作一个对象,抽取出来的一个代表键值对的接口 — Entry,Entry 是 Map 的一个内部接口 — 一个 Map 是由多个 Entry 对象组成的。
    Map 不是集合,但是Map是 Java 集合框架的成员。
    Java 集合框架(Java Collections Framework)包含:集合、数组、映射以及操作它们的工具类 — Arrays、Collections、Interator、Comparable、Comparator

3.1 遍历映射
方式一:先获取映射中所有键组成的集合,然后通过键获取对应的值
方式二:将所有的键值对放入一个集合,然后通过遍历集合获取这个键值对的数据。

3.2 HashMap:
基于哈希码存储,然后这个键和值都允许为null,默认容量是 16 ,默认加载因子是 0.75f。自定义初始容量x,这个 x 介于[ 2^n ~ 2^(n+1)],那么初始容量一定是 2^(n+1) — 底层保证 HashMap 的容量永远是 2^n,(范围是 1 ~ 2^30)
HashMap本身是一个异步式线程不安全的映射。(后面用的最多)
3.3 HashTable:
JDK 中早的映射。基于哈希码存储,然后不允许键和值为null。默认初始容量是11,默认加载因子是 0.75f。每次扩容默认增加一倍,然后加 1。— 11 -> 23。本身是一个同步式的线程安全的映射。(现在一般不用)。ConcurrentHashMap — 异步式线程安全的映射。
异步:同一对象在同一时刻允许多个对象同时操作该对象。线程不安全的效率高。

练习:输入一个字符串,统计其中每一个字符出现的次数

  1. 断言:
    (对结果进行预测。打桩)
    assert 断言条件 : 错误信息。(最早在 Integer 中的 valueOf() 中就有一个断言)
    在 Java 中,断言不是默认开启的,需要利用参数手动指定开启。 -> -ea -> -enableassertion

注意:native 只能修饰方法 — 本地方法,没有方法体但不是抽象方法,方法体是在JVM中用 C 语言完成的,在本地方法栈中执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值