1、假如元素的大小是固定的,而且能事先知道,我们就应该用 Array 而不是ArrayList。 2、有些集合类允许指定初始容量。因此,如果我们能估计出存储的元素的数目,我们可以设置初始容量来避免重新计算 hash 值或者是扩容。 3、为了类型安全,可读性和健壮性的原因总是要使用泛型。同时,使用泛型还可以避免运行时的 ClassCastException。 4、使用 JDK 提供的不变类 (immutable class) 作为 Map 的键可以避免为我们自己的类实现 hashCode()和 equals()方法。…

2021年10月3日 0条评论 1313点热度 0人点赞 小小调酒师 阅读全文

Iterator 可用来遍历 Set 和 List 集合,但是 ListIterator 只能用来遍历 List。 Iterator 对集合只能是前向遍历,ListIterator 既可以前向也可以后向。 ListIterator 实现了 Iterator 接口,并包含其他的功能,比如:增加元素,替换元素,获取前一个和后一个元素的索引,等等。

2021年10月3日 0条评论 1142点热度 0人点赞 小小调酒师 阅读全文

通过看源码知道 HashSet 的实现是依赖于 HashMap 的,HashSet 的值都是存储在 HashMap 中的。在 HashSet 的构造法中会初始化一个 HashMap 对象,HashSet 不允许值重复,因此,HashSet 的值是作为 HashMap 的 key 存储在HashMap 中的,当存储的值已经存在时返回 false。 LinkedHashMap 也是基于 HashMap 实现的,不同的是它定义了一个 Entryheader,这个 header 不是放在 Table 里,它是额外独立出来的…

2021年10月3日 0条评论 1145点热度 1人点赞 小小调酒师 阅读全文

支付 ¥1.99 购买本节后解锁剩余99%的内容 微信支付 如已付费购买,请免登录验证。

2021年10月2日 0条评论 1087点热度 0人点赞 小小调酒师 阅读全文

这样的题比较考水平,两个方面的水平:一是要真正明白这些内容,二是要有较强的总结和表述能力。如果你明白,但表述不清楚,在别人那里则等同于不明白。 首先,List 与 Set 具有相似性,它们都是单列元素的集合,所以,它们有一个功共同的父接口,叫 Collection。Set 里面不允许有重复的元素,所谓重复,即不能有两个相等(注意,不是仅仅是相同)的对象 ,即假设 Set 集合中有了一个 A 对象,现在我要向 Set 集合再存入一个 B 对象,但 B 对象与 A 对象 equals 相等,则 B 对象存储不进去,所以…

2021年10月2日 0条评论 999点热度 0人点赞 小小调酒师 阅读全文

ArrayList 和 Vector 都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector 由于使用了synchronized 方法(线程安全), 支付 ¥1.99 购买本节后解锁剩余46%的内容 微信支付 如已付费购买,请免登录验证。

2021年10月1日 0条评论 1153点热度 0人点赞 小小调酒师 阅读全文

这两个类都实现了 List 接口(List 接口继承了 Collection 接口),他们都是有序集合,即存储在这两个集合中的元素的位置都是有顺序的,相当于一种动态的数组,我们以后可以按位置索引号取出某个元素,并且其中的数据是允许重复的,这是HashSet 之类的集合的最大不同处,HashSet 之类的集合不可以按索引号去检索其中的元素,也不允许有重复的元素(本来题目问的与 hashset 没有任何关系,但为了说清楚 ArrayList 与 Vector 的功能,我们使用对比方式,更有利于说明问题)。接着才说 Ar…

2021年10月1日 0条评论 1099点热度 0人点赞 小小调酒师 阅读全文

方法 1:通过 Scanner 方法 2:通过 BufferedReader

2021年10月1日 0条评论 1118点热度 0人点赞 小小调酒师 阅读全文

final 关键字主要用在三个地方:变量、方法、类。 1、对于一个 final 变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。 2、当用 final 修饰一个类时,表明这个类不能被继承。final 类中的所有成员方法都会被隐式地指定为 final 方法。 支付 ¥1.99 购买本节后解锁剩余49%的内容 微信支付 如已付费购买,请免登录验证。

2021年10月1日 0条评论 1043点热度 0人点赞 小小调酒师 阅读全文

线程与进程相似,但线程是一个比进程更小的执行单位。一个进程在其执行的过程中可以产生多个线程。与进程不同的是同类的多个线程共享同一块内存空间和一组系统资源,所以系统在产生一个线程,或是在各个线程之间作切换工作时,负担要比进程小得多,也正因为如此,线程也被称为轻量级进程。 程序是含有指令和数据的文件,被存储在磁盘或其他的数据存储设备中,也就是说程序是静态的代码。 支付 ¥1.99 购买本节后解锁剩余62%的内容 微信支付 如已付费购买,请免登录验证。

2021年10月1日 0条评论 920点热度 0人点赞 小小调酒师 阅读全文
123458