
集合
集合类相关知识以及常见问题专栏
南丘xf
好记性不如烂笔头——1枚昆明程序猿
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
集合使用技巧,如何提高代码性能?
集合在编程过程中,经常用到,但是在使用集合的过程中,我们不单单需要考虑如何实现,还需要考虑性能问题。1、需要Map的Key和Value时,应该迭代entrySet()当循环中只需要Map的主键时,迭代keySet()是正确的。但是如果需要Key和Value时,迭代entrySet()才是更高效的做法,比先迭代keySet()后再去get取值性能更佳:public static void m...原创 2019-09-29 09:49:16 · 389 阅读 · 0 评论 -
Map遍历元素如何按照put顺序输入的元素进行顺序输出
我们利用Map存数,遍历输出的时候希望其按照put的顺序,顺序输出,如何实现呢?其实非常简单,我们常常实现Map的时候,都是采用HashMap,很容易忽略其链表形式的LinkedHashMap(),今天犯了一个容易忽视的错误,先看代码:public static void main(String[] args) { Map<String, String> hashMap = ...原创 2019-09-05 17:55:46 · 12881 阅读 · 4 评论 -
犯傻:Map移除元素,怎么可以用同一个Iterator做二次迭代呢?
有一个场景是这样的,我需要在一个Map中取走两个值,然后把取走的这两个键值对移除,我竟然采用了这样的方式:import java.util.HashMap;import java.util.Iterator;import java.util.Map;public class BaoShanTest { public static void main(String[] args) {...原创 2020-04-02 18:39:52 · 429 阅读 · 1 评论 -
Set集合实现类之HashSet、TreeSet和LinkedHashSet
Set集合的实现类有3种,分别是HashSet、TreeSet和LinkedHashSet,而这3种实现类都具有Set集合的共性:1)都不允许元素重复,适合存储无序元素2)对象相等的本质是对象HashCode值相等,所以必须重新HashCode方法和equals方法3)线程不安全 解决方案:Set s = Collections.synchronizedSet(Set对象)1)...原创 2020-03-25 16:31:14 · 356 阅读 · 0 评论 -
多个List拼接,List长度不同默认增加
在写报表项目的过程中,遇到了一个很有意思的问题,展现在前端页面的最终结果样式,是由三个或者多个部分拼装到一起的,每一个部分的数据独立,需要排序以后拼装到一起。简单来说,就是每一个部分的数据查询计算出结果以后,不需要的数据删除,需要的数据按规定排序,再和其他部分的数据拼装到一起。比方说上面一个结果样式,就是有最大两部分拼装,分上下两部分,上下部分又各分三部分,即贷款余额表、贷款客户表和授信客...原创 2019-07-19 17:06:43 · 2244 阅读 · 0 评论 -
使用List.clear()需要注意的一个坑
假设有这样一个案例,我们有一个file文件,里面有a b c d e f g h i j 一共10条数据,我们需要以4条为一批,分成3批处理,即第一批是a b c d,第二批数据是e f g h,第三批数据是i j,所以楼主采用Map<Integer, List<TSSBBody>>方式装数据,有多少批数据,就有多少个键值对,至于List的size(),必然是4 4 2,这...原创 2020-01-15 10:01:47 · 16655 阅读 · 8 评论 -
使用List容易犯下的几个常见错误(经验教训)
新手都容易犯这个错误,先看代码: List<String> list = new ArrayList<String>(); for(int i=0;i<list.size();i++){ System.err.println(list.get(i).toString()); ...原创 2019-04-15 18:23:00 · 4645 阅读 · 1 评论 -
List集合实现类之ArrayList、Vector和LinkedList
List集合的实现类有3种,分别是ArrayList、Vector和LinkedList,下面我将对这3个实现类的区别进行详细讲解。1)ArrayListArrayList继承自AbstractList而实现了List,它是最常用的List实现类,内部是通过数组实现的,所以插入或者删除元素时,需要对数组进行复制、移动、代价比较高,因此,它适合随机查找和遍历,不适合插入和删除。pub...原创 2020-03-14 13:59:57 · 624 阅读 · 0 评论 -
Java集合之接口继承关系图
Java集合类存放于Java.util包中,该包是我们日常开发过程中最常用到的,主要用到以下3类:set(集)、list(列表包含Queue)和map(映射)。虽然有数组,但是很多时候,对于对象的存储,我们都是采用集合,因为集合长度可变,所以可以存储不同类型的对象,不得不说,集合是编程中最好用的存储对象的方式之一。而我们最常用的3类集合主要根据这3个顶级接口有关,分别是:1)Collect...原创 2020-03-14 12:37:11 · 1977 阅读 · 0 评论