Java_集合类库
Chill_Lyn_
进化成更好的人。
展开
-
Java_HashMap(JDK8)
文章目录基本属性基本属性// 初始化容量,必须要2的n次幂static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16// 负载因子默认值static final float DEFAULT_LOAD_FACTOR = 0.75f;// 需要从链表转换为红黑树时,链表节点的最小长度static final int TREEIFY_THRESHOLD = 8;// 转换为红黑树时数组的最小容量static fin原创 2020-05-29 09:13:10 · 528 阅读 · 0 评论 -
Java_从类似如下的文本文件中读取出所有的姓名,并打印出重复的姓名和重复的次数,并按重复次数排序
文本文件内容:思路:文件中一行是一组数据,利用BufferedReader的readline方法,将文件读入每读入一行,字符串split方法以“,”分割,得到字符串数组,取第二项为名字将名字和出现次数以键值对的方式存入Map判断Map中key是否包含名字,如果包含,value为getValue+1;如果不包含,value为1.根据value排序,首先得到Map的entrySet存入...原创 2019-10-30 21:55:44 · 611 阅读 · 0 评论 -
Java_TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常?
添加对象时,如果对象是父类对象则调用父类的compareTo方法,如果对象时子类对象,则调用子类的compareTo方法。题目代码化package treeSetTest;import java.util.TreeSet;public class Test { public static void main(String[] args) { TreeSet<Father&g...原创 2019-10-27 22:16:33 · 508 阅读 · 6 评论 -
Java_两个对象值相同(x.equals(y) == true),但却可有不同的hashcode,这句话对不对?
对hashcode方法是可以根据我们需要来进行重写的所以当我们不需要利用hashcode时,就可以使出现两个对象相同但hashcode不同的情况,但我们并没有理由和必要去这样做。如果需要利用HashMap或者HashSet,这时如果两个对象值相同,则hashcode必须相同...原创 2019-10-27 21:50:19 · 426 阅读 · 0 评论 -
Java_去除List集合中重复的元素
元素不重复首先让人想到的就是Set!package repeatTest;import java.util.ArrayList;import java.util.HashSet;import java.util.List;import java.util.Set;public class Test { public static void main(String[] args) ...原创 2019-10-27 21:41:22 · 178 阅读 · 0 评论 -
Java_Comparable、Comparator的区别
Comparable自然顺序的接口,需要自然顺序排序的类去实现它,使该类本身拥有自然顺序。Comparator比较器接口,实现该接口的类为工具类,为其他类提供排序服务。...原创 2019-10-19 12:28:52 · 82 阅读 · 0 评论 -
Java_Collection、Collections的区别
Collection集合的上层接口,List和Set是它的子接口。Collections集合的工具类,提供静态方法操作集合类。原创 2019-10-19 12:24:43 · 120 阅读 · 0 评论 -
Java_HashMap、HashTable、TreeMap的区别
HashMap底层实现由hash表支持key-value都可以为null线程不安全HashTable底层由hash表支持key-value都不可以为null线程安全TreeMap底层由二叉树支出key不可以为null,value可以为null线程不安全自然顺序排序...原创 2019-10-19 12:17:12 · 183 阅读 · 0 评论 -
Java_ArrayList、LinkedList、Vector的存储性能和特性
ArrayList底层实现时数组,所有元素存储在地址连续的内存中,所以在“增删改查”操作中,根据数组索引改和查效率高,而增删效率低,因为数组本质是长度不可变的,为了实现可变长数组,增删操作实质上是复制数组。线程不安全,相较于Vector来说效率高。LinkedList底层实现时双向链表,所有元素存储在地址不连续的内存中,依靠元素地址连接,所以与ArrayList相反,在“增删改查”操...原创 2019-10-19 11:29:08 · 167 阅读 · 0 评论 -
Java_List、Set、Map三个接口的存储特点
List有序可重复Set无序不可重复Mapkey-value对,key不可重复原创 2019-10-19 10:34:32 · 144 阅读 · 0 评论 -
Java_集合类库
原创 2019-10-16 22:07:16 · 192 阅读 · 0 评论 -
Java_简单自定义HashSet(理解底层原理)
import java.util.HashMap;/** * Hashset底层就是一个Hashmap * 元素相当于Map中的key * value为一个定值 * * @author Chill Lyn * */public class MyHashSet { HashMap map; private static final Object PRESENT = n...原创 2019-07-25 21:12:39 · 166 阅读 · 0 评论 -
Java_实现List和Map数据的互相转换。具体要求见注释
package cn.myCollection;import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Map.Entry;import java.util.Set...原创 2019-07-27 16:22:06 · 926 阅读 · 0 评论 -
Java_使用List、Map、HashSet、TreeSet存放多个图书信息,遍历并输出
import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Set;/** * 使用List和Map存放多个图书信息,遍历并输出 * 商品属性:编号,名称,单价,出版社 * 使用商品编号作为Map中的key * @a...原创 2019-07-26 19:47:40 · 2225 阅读 · 0 评论 -
Java_简单自定义ArrayList(旨在理解底层原理)
/** * 自定义ArrayList,体会底层原理 * 泛型 * 数组扩容 * set get * 数组边界检查 * @author Chill Lyn * */public class MyArrayList<E> { private Object[] elementData; private int size; private static int DE...原创 2019-07-21 23:51:53 · 191 阅读 · 0 评论