![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java容器
文章平均质量分 67
容器
月犹依依
RPG、Flow、Loop & Zoom! Have fun every day~
一天一天成长为架构师~
展开
-
ArrayList多线程下不安全性解释以及多线程下安全使用
文章目录不安全的原因与几种解决方案原因解决方案ArrayList不安全的实例线程安全版本的原理不安全的原因与几种解决方案多线程场景下如何使用 ArrayList原因ArrayList 的 add 操作源码如下:/** * Appends the specified element to the end of this list. * * @param e element to be appended to this list * @return <tt原创 2021-10-11 10:36:53 · 667 阅读 · 0 评论 -
Java8 函数式去重过滤规则
文章目录需求参考实现需求根据从另一个微服务取到的用户自定义过滤规则,完成实体的去重,并返回给调用方进行后续更新操作规则定义非常灵活:不同实体类型有不同的过滤规则,且过滤规则的过滤字段数目不定、指定字段名称不定参考https://blog.csdn.net/Draymond_feng/article/details/108304165list<Bean> java8根据某几个属性去重实现 /** * 根据传入的属性列表返回去重字段的Function * * Fu原创 2021-10-09 14:23:00 · 691 阅读 · 0 评论 -
Java8 Stream distinct 去重
文章目录参考总结参考Stream distinct 去重总结1,distinct去重原理:类实现hashCode()和equals()方法2,filter根据属性过滤去重:支持单属性与多重属性去重。不足:多重属性去重必须提前已知属性个数。核心代码:// 去重predict方法public static <T> Predicate<T> distinctByKey(Function<? super T, ?> keyExtractor){原创 2021-10-09 09:59:14 · 6296 阅读 · 0 评论 -
IDE Arthas热部署与测试环境代码debug
IDE Arthas测试环境代码debug参考2种热部署方法定点debug安装并配置IDE Arthas直接debug示例参考主要步骤:https://github.com/alibaba/arthas/issues/1823IDE插件配置官方文档:https://www.yuque.com/arthas-idea-plugin/help/ugrc8n2种热部署方法方法一:IDE生成class文件后,使用Arthas的redefine命令redefine /tmp/com/example/dem原创 2021-08-11 14:38:18 · 694 阅读 · 0 评论 -
java8 List常用功能:元素去重、快速打印、按size拆分
java8 List集合元素去重参考去重快速打印参考https://segmentfault.com/a/1190000023914939去重https://juejin.cn/post/6844903842132262926方法二针对Object的时候需要指定属性,否则无法使用distinct// 1List<String> newList = new ArrayList<>(new HashSet<>(list));// 2// 使用了 Lombok原创 2021-07-14 14:24:40 · 1435 阅读 · 0 评论 -
Java8容器之间互相转化(持续更新)
Java8容器转化List & SetList 2 SetSet 2 List项目代码实例数组 List数组 to List项目代码实例List & MapList 2 MapList & ListList & Sethttps://www.baeldung.com/convert-list-to-set-and-set-to-listList 2 SetList<Integer> sourceList = Arrays.asList(0, 1, 2, 3原创 2021-07-14 12:59:58 · 199 阅读 · 0 评论 -
Java容器(List、Map)初始化的方法
ArrayList初始化的4种方法Arrays.asList生成匿名内部内进行初始化常规方式Collections.ncopies来自 https://blog.csdn.net/u011523796/article/details/79537055Arrays.asListArrayList obj = new ArrayList(Arrays.asList(Object o1, Object o2, Object o3, …so on));生成匿名内部内进行初始化ArrayList obj =原创 2021-03-25 17:44:46 · 880 阅读 · 0 评论 -
Java8之HashMap详解(二)
Java8之HashMap详解(二)扩容机制:桶长度为2的倍数带来的扩容时index的迅速定位线程安全性:HashMap不支持并发的实例,resize引发的环形链表问题JDK1.8与JDK1.7的性能对比小结扩容机制:桶长度为2的倍数带来的扩容时index的迅速定位扩容(resize)就是重新计算容量,向HashMap对象里不停的添加元素,而HashMap对象内部的数组无法装载更多的元素时,对象就需要扩大数组的长度,以便能装入更多的元素。当然Java里的数组是无法自动扩容的,方法是使用一个新的数组代替已转载 2021-03-25 09:44:18 · 122 阅读 · 0 评论 -
Java8之HashMap详解(一)
Java8之HashMap详解简介Map接口简单说明HashMap内部实现存储结构-字段hash运算定位坐标过程以及优化思路字段介绍扩容机制设计之:哈希桶长度设置Hash桶数组索引位置的方法转自:添加链接描述简介Java为数据结构中的映射定义了一个接口java.util.Map,此接口主要有四个常用的实现类,分别是HashMap、Hashtable、LinkedHashMap和TreeMap,类继承关系如下图所示:Map接口简单说明(1) HashMap:它根据键的hashCode值存储数据,大多转载 2021-03-25 09:44:08 · 279 阅读 · 0 评论 -
Java List求交集、差集、并集
List求交集、差集、并集Java8的方式List的APIJava8的方式public static void main(String[] args) { List<String> list1 = new ArrayList<String>(); list1.add("1"); list1.add("2"); list1.add("3"); list1.add("5"); list1.add("6"); List<String> l原创 2021-02-18 21:03:18 · 4314 阅读 · 0 评论 -
反射获取List中的值
参考:添加链接描述获取List以及List中类的属性值的参考代码:public static List getListFieldValueByObject (Object object , String targetFieldName) throws Exception { List<Object> returnList = new ArrayList<>(); // 获取该对象的Class Class objClass = object.getClas原创 2020-12-07 16:57:22 · 3182 阅读 · 0 评论 -
Collections.unmodifiableMap()
参考Collections.unmodifiableSortedMap:返回指定有序映射的不可修改视图,提供对内部有序映射的“只读”访问。试图修改返回的有序映射将导致抛出 UnsupportedOperationException。如果指定的有序映射是可序列化的,则返回的有序映射也将是可序列化的。Collections.unmodifiableMap():只是无序的区别例子:import java.util.Collections;import java.util.HashMap;impor转载 2020-12-03 22:20:52 · 1861 阅读 · 2 评论