作用: 当工作于多线程中的对象使用ThreadLocal维护变量时,threadLocal为每个使用该变量的线程分配一个独立的变量副本. 接口方法: protected T initialValue() //初始化数据.延迟调用方法,在线程第一次调用get或set时才执行,并且只执行1次.默认返回null. public T get() //获取当前线程的变量 public void set(T value) //设置当前线程的变量 public void remove() //删除当前线程的变
//定义一个100元素的集合,包含A-Z List<String> list = new LinkedList<>(); for (int i =0;i<100;i++){ list.add(String.valueOf((char)('A'+Math.random()*('Z'-'A'+1)))); } System.out.println(list); //统计集合重复元素出现次数,并且去重返回hashmap Map<String, Long> map = l
Map排序的方式有很多种,两种比较常用的方式:按键排序(sort by key), 按值排序(sort by value).1.按键排序jdk内置的java.util包下的TreeMap<K,V>既可满足此类需求,向其构造方法 TreeMap(Comparator<? super K> comparator) 传入我们自定义的比较器即可实现按键排序. public class MapSortDemo { public static void main(String[] args)
Map排序的方式有很多种,这里记录下自己总结的两种比较常用的方式:按键排序(sort by key), 按值排序(sort by value). 1.按键排序 jdk内置的java.util包下的TreeMap<K,V>既可满足此类需求,向其构造方法 TreeMap(Comparator<? super K> comparator) 传入我们自定义的比较器即可实现按键排序. 实现代码 public class MapSortDemo { public static void ma
获取map的key和value的方法分为两种形式: map.keySet():先获取map的key,然后根据key获取对应的value: map..entrySet():同时查询map的key和value,只需要查询一次: 两者的性能比较可以查看map.keySet()和map.EntrySet()的比较. 以下是获取map的key和value,以及map里面的元素通过key或者value来比较大小并排序: 注意:当map的value值相等时,根据key值进行排序 public class Ma