今天我们就来简单的了解下java中的集合,有了解过得朋友都知道,也都用过,比如说做常用的List,还有Set、Map,而且像List和Set都是用于存储单列数据的集合,他们的父接口都是Conllection,List的特点是存储的值是有序且允许重复的,Set的特点是存储的元素是唯一、不可重复且无序的,而Map的特点则是用于存储双列数据的集合,存储的数据时无序的,键不可以重复,值可以重复。
之前写过一个文章 Java递归将List数据转换为Tree结构数据_填坑指南 用的是递归的方法,后来在今日头条上也发布了,评论区以为大佬给了我一些指点,我看了之后恍然大悟,相对于使用递归,此方法只需写一个方法,方法中两个循环,而使用递归的话,需要写三个方法,还要用递归,使用递归不仅内存开销大,性能也不行。
比如,List 集合可能是历史遗留问题,也有可能是调用接口返回的类型限制,只能使用 List 接收,又或者是代码写了一半,在做多个集合合并的时候才发现了这个问题,总之造成问题的原因有很多种,这里就不一一列举了。
在平时的开发过程中使用List的场景很多,你知道List的遍历有多少种方式?今天一起来梳理下List的几种遍历方式。这里以java.util.ArrayList为例来演示。这里有一个最简单的测试类,里边有一个main方法package com.my.template.