首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏技术杂货店

    java集合7】-- List接口源码解析

    1.List接口的特性 java.util.List 接口继承于 Collection 接口,与Map最大的不同之处,在于它属于单列集合,相当于一个列表,有以下这些特点: 有顺序,按照添加的顺序存储, 3.相关子类介绍 说起List的实现子类,最重要的几个实现类如下: ArrayList:底层存储结构是数组结构,增加删除比较慢,查找比较快,是最常用的List集合。线程不安全。 public ArrayList() { this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA; } // 传入一个集合 好像上面的源代码中我们没有看到,其实是有的,所谓扩容嘛,就是容量不够了,那么容量不够的时候只会发生在初始化一个集合的时候或者是增加元素的时候,所以是在add()方法里面去调用的。 = 0; } 指定index,插入一个集合,和前面不一样的地方在于复制之前,需要计算往后面移动多少位,不是用for循环去插入,而是一次性移动和写入。

    82700发布于 2020-11-21
  • 来自专栏开源部署

    List集合

    1、List概述 1.1、什么是List java.util.List 接口继承自 Collection 接口,是单列集合的一个重要分支,习惯性地会将实现了 List 接口的对象称为List集合。 在List集合中允许出现重复的元素,所有的元素是以一种线性方式进行存储的,在程序中可以通过索引来访问集合中的指定元素。 List集合中元素有序,即元素的存入顺序和取出顺序一致。 1.2、List特点 List是一个元素存取有序的集合。例如,存元素的顺序是11、22、33。 那么集合中,元素的存储就是按照11、 22、33的顺序完成的 List是一个带有索引的集合,通过索引就可以精确的操作集合中的元素(与数组的索引是一个道理) List中可以有重复的元素,通过元素的equals c.add("孙悟空"); c.add("白骨精"); c.add("唐三藏"); c.add("八戒"); //遍历 集合

    1.1K10编辑于 2022-09-14
  • 来自专栏迁移内容

    Java集合List集合

    List集合 List集合类中元素有序、且可重复,集合中的每个元素都有其对应的顺序索引。 List容器中的元素都对应一个整数型的序号记载其在容器中的位置,可以根据序号存取容器中的元素。 List集合里添加了一些根据索引来操作集合元素的方法 一、ArrayList ArrayList是List接口的典型实现类,本质上,ArrayList是对象引用的一个变长数组。 注:Arrays.asList(…) 方法返回的 List 集合既不是 ArrayList 实例,也不是 Vector 实例。 Arrays.asList(…)返回值是一个固定长度的 List 集合List集合子类Vector这个类已经不常用了, 我就说里面的一个方法, Elements方法, 这个方法的返回值是枚举接口, 里面有两个方法, 判断和获取。

    2.3K20编辑于 2022-12-01
  • 来自专栏兰舟千帆的java学习笔记

    List集合

    三:List集合 List集合是单列集合的一种,它所存储的元素是可以重复的。List是直接实现Collection接口类的一种。完整的lIst接口类定义如下。 l.clear(); System.out.println(l); //7:contains(Object o) //如果此列表中包含指定的元素,则返回 如果集合为空,会报异常。 <3>ListIterator(列表迭代器) List集合特有的迭代器 接口完整定义 public interface ListIterator<E>extends Iterator<E> JDK API jgdabc"); System.out.println(link); link.pop(); System.out.println(link); 7:

    2K40编辑于 2022-07-16
  • 来自专栏全栈开发那些事

    List集合

    List集合 1、List集合 1.1 List接口的方法 1.2 案例:元素的增删改查 1.3 List接口的实现类 1.3.1 ArrayList类 1.3.2 LinkedList类 1.3.3 List集合中的元素是有序、可重复的。    List集合关心集合是否有序,而不关心元素是否重复。 1.1 List接口的方法   List除可以从Collection集合继承的方法,List集合中还添加了一些根据索引来操作集合的方法。 因为List接口是Collection接口的子接口,因此之前Collection接口的方法,List接口也同样适用,Collection集合的遍历方式也同样适用于List接口的集合集合的遍历   因为List集合也属于Collection系列的集合,此前Collection集合支持的foreach遍历和Iterator遍历对于List集合来说仍然适用,这里就不再重复,下面介绍List

    98430编辑于 2023-02-25
  • 来自专栏全栈程序员必看

    mybatis 查询返回List集合、map集合List<Map>集合

    selectUser " resultType="java.util.HashMap"> </select> 2.Dao接口中 Map<String,Object> selectUser(); 返回List 类型 3. xml中 <select id="selectUser " resultType="java.lang.String"> </select> 2.Dao接口中 List<String > selectUser(); 返回List<Map<String,Obiect>>类型 <select id="selectUser" resultType="java.util.HashMap" > </select> 2.Dao接口中 List<Map<String,Object>> selectUser (); 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

    2.9K20编辑于 2022-11-10
  • 来自专栏技术杂货店

    java集合7】——— List接口超级详细源码分析

    1.List接口的特性 java.util.List 接口继承于 Collection 接口,与Map最大的不同之处,在于它属于单列集合,相当于一个列表,有以下这些特点: 有顺序,按照添加的顺序存储,是一种线性结构 3.相关子类介绍 说起List的实现子类,最重要的几个实现类如下: ArrayList:底层存储结构是数组结构,增加删除比较慢,查找比较快,是最常用的List集合。线程不安全。 public ArrayList() { this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA; } // 传入一个集合 好像上面的源代码中我们没有看到,其实是有的,所谓扩容嘛,就是容量不够了,那么容量不够的时候只会发生在初始化一个集合的时候或者是增加元素的时候,所以是在add()方法里面去调用的。 = 0; } 指定index,插入一个集合,和前面不一样的地方在于复制之前,需要计算往后面移动多少位,不是用for循环去插入,而是一次性移动和写入。

    76140编辑于 2022-02-15
  • 来自专栏Java实战博客

    Collection ->List 集合

    讲到List 集合 就要说到 数组。 数组和集合的区别? 相同点: 都是容器,用来存储数据的 不同点: 数组长度不可变,集合长度可以变 数组只能存储 基本类型,集合可以存储任意类型 List 接口的特点 存取有序,可以重复,有索引,可以使用普通for循环遍历 Collection 接口 中 的 remove方法 接收的是 元素,List 集合中的 remove 方法接收的是索引 常见的 List 集合 ArrayList、LinkedList 特点 ArrayList <String> list = new ArrayList<>(); // 往 ArrayLisr 集合中 添加元素 list.add("张1"); list.add ("张2"); list.add("张3"); list.add("张4"); list.add("张1"); // ArrayList 值相同 不会覆盖

    54410编辑于 2022-01-17
  • 来自专栏Java 后端开发

    Java初始化List集合7种方式

    后端开发中经常会用到List集合初始化List集合有多种方法,在此统一整理下最常规的add方法Arrays工具类Collections工具类匿名内部类JDK8 StreamJDK9 List.ofImmutableList1 ;System.out.println("常规方法: " + list1); //常规方法: [money, study, health]平常使用最多,后面缺失的泛型类型在JDK7之后 不用写具体的类型 Stream: " + list5); //JDK8 Stream: [money, study, health]Stream是JDK8推出来的新概念,比集合还要强大,也可和集合互相转换。 money, study, health]System.out.println("JDK9 List.of: " + list6);7.ImmutableList//生成的list不可变List<String ("ImmutableList: " + list7);参考:https://www.cnblogs.com/javastack/p/10074847.html

    2.6K20编辑于 2024-02-22
  • 来自专栏小小码农一个。

    list集合分页

    list; // private Iterator it; public PageModel(List list, int pageRecorders) { init (list, pageRecorders);// 通过对象集,记录总数划分 } /** */ /** * 初始化list,并告之该list每页的记录数 * * @param list * @param pageRecorders */ public void init(List list, int pageRecorders ) { this.pageRecorders = pageRecorders; this.list = list; totalRows = list.size getList() { return list; } public void setList(List list) { this.list = list

    1.6K20发布于 2020-06-08
  • 来自专栏全栈程序员必看

    list集合转化为数组_list集合转成数组

    ; public class Demo4_AsList { /** * 数组转换成集合 * 数组转换成集合虽然不能增加或减少元素,但是可以用集合的思想操作数组,也就是说可以使用其他集合中的方法 */ public static void main(String[] args) { //demo1(); //demo2(); //集合转数组,加泛型的 ArrayList list = new ArrayList list = Arrays.asList(arr); 基本数据类型的数组转换成集合,会将整个数组当作一个对象转换 //System.out.println(list); Integer[] arr = {11,22,33,44,55}; //将数组转换成集合,数组必须是引用数据类型 List list = Arrays.asList(arr); System.out.println(list); } public static void demo1() { String[] arr = {“a”,”b”,”c”}; List list = Arrays.asList(arr); //将数组转换成集合

    1.3K20编辑于 2022-10-02
  • 来自专栏韩曙亮的移动开发专栏

    【Kotlin】集合操作总结 ( List 集合 | MutableList 集合 | List 集合遍历 | Set 集合 | MutableSet 集合 | Map 集合 | 可变 Map集合 )

    文章目录 一、List 创建与元素获取 二、安全获取集合元素 1、getOrElse 函数 2、getOrNull函数 三、List 创建与元素获取代码示例 四、MutableList 可变列表集合 五、修改 MutableList 集合的 mutator 函数 1、添加元素运算符 += 和 删除元素运算符 -= 2、通过 Lambda 表达式筛选要删除的元素 六、List 集合遍历 七、List Map 集合 一、List 创建与元素获取 ---- Kotlin 中的集合分为两类 , 只读集合 和 可变集合 ; 调用 listOf 函数 , 可以 直接创建 List 集合 ; 通过 [] 下标可以 转为 只读列表集合 val list: List<String> = mutableList.toList() // 将 只读列表集合 转为 可变列表集合 val mutable 与 Set 之间相互转换 ---- 调用 List#toSet() 函数 , 可以将 List 集合转为 Set 集合 , 转换过程中会 自动删除重复的元素 ; 调用 List#distinct()

    7.6K20编辑于 2023-03-30
  • 来自专栏博岩Java大讲堂

    Java集合--List

    1 List 在Collection中,List集合是有序的,Developer可对其中每个元素的插入位置进行精确地控制,可以通过索引来访问元素,遍历元素。 (1)ArrayList实现List,得到了List集合框架基础功能; (2)ArrayList实现RandomAccess,获得了快速随机访问存储元素的功能,RandomAccess是一个标记接口, (1)LinkedList实现List,得到了List集合框架基础功能; (2)LinkedList实现Deque,Deque 是一个双向队列,也就是既可以先入先出,又可以先入后出,说简单些就是既可以在头部添加元素 : List<String> list = new ArrayList<String>(); System.out.println("ArrayList集合初始化容量:" int size = list.size(); //把集合转换成数组: String[] strArray = list.toArray(new String[]{})

    3.3K70发布于 2018-05-11
  • 来自专栏后端码匠

    Java集合-List

    Java集合-List List接口(java.util.List)代表着有序的对象集合List中包含的元素可以根据它们在List中的内部顺序进行插入、访问、迭代和删除,元素的顺序就是这个数据结构被称为列表的原因 List 和Set List和Set非常相似,都代表了一组元素的集合,但是也有一些明显的不一样, 这些差异反映在List和Set接口提供的方法中。 创建List 通过List的实现创建List实例,下面是代码: List listA = new ArrayList(); List listB = new LinkedList(); List listC 从List中删除所有元素也被称为清除List,下面是代码: List<String> list = new ArrayList<>(); list.add("object 1"); list.add List大小 可以通过size()获取List的大小,也就是List中元素的个数: List<String> list = new ArrayList<>(); list.add("object 1

    2.9K40发布于 2021-03-16
  • 来自专栏全栈程序员必看

    Map集合List集合总结

    Map集合List集合哪个效率更高 List接口 List集合是一个元素有序(存储有序)、可重复的集合集合中的每个元素都有对应的索引,以便于查询和修改,List集合是允许存储null值的。 ArrayList集合 ArrayList集合List接口的实现类,有以下特点: 1.有序,有索引 2.元素可以重复 3.可以存储null值 4.随机访问速度快,修改快,增加/插入或者移除/删除的效率慢 5.线程不安全 注意:List集合的实现类想要实现去重复的话: 思想:   1、首先要创建一个新的集合。    Vector集合   Vector集合也是List接口一个实现类,底层数据结构是数组,插入和移除性能较差,线程安全,效率低。 总结: ArrayList集合和Vector集合   ArrayList和Vector都是基于数组实现的list类,所以ArrayList和Vector封装了一个动态的,允许再分配的Object[]数组

    88520编辑于 2022-08-31
  • 来自专栏iOS逆向与安全

    java小技能:对list集合根据条件进行分组、过滤和字段筛选

    实现思路:使用jdk8的流式编程对list集合进行分组 I 对list根据条件进行分组 1.1 费率信息实体 OrganPayRate @ApiModelProperty(value = "类型 > fanliPayRates; } 1.3 查询数据 使用jdk8的流式编程对list集合进行分组 List<OrganPayRate> organPayRates = tFacFacilitatorOrganPayRateService.list //使用jdk8的流式编程对list集合进行分组 Map<EFacilitatorOrganPayRateType, List<OrganPayRate>> listMap = 根据条件进行过滤和字段筛选 需求:修改代理商角色权限时,判断是否存在权限被移除,如果存在,则穿透删除所有下级代理商相对应的权限值。 <RolePermission> oldList = tFacFacilitatorRolePermissionService.list(queryWrapper); List<Integer

    9.2K40编辑于 2022-12-19
  • 来自专栏国产程序员

    List集合源码分析

    既然我们知道他是在集合中,那么我就顺着他的父类寻找,先看一下List,没有发现,List在向上是collection,这时我们看看他的方法: @SuppressWarnings({"rawtypes", "unchecked"}) public static void shuffle(List<? > list, Random rnd) { int size = list.size(); if (size < SHUFFLE_THRESHOLD || list instanceof elementData, newCapacity); } 缺点是向指定的索引位置插入对象或删除对象的速度较慢.因为指向索引位置插入对象时,会将指定索引位置及之后的所有对象相应向后移动一位 Vector集合与 ArrayList集合没有本质区别,因为Vector中方法和ArrayList的方法是一致的,但是每个方法上都有synchronized 关键字,所以说Vector集合是线程安全,但是也正因为如此,vector

    59630发布于 2019-07-03
  • 来自专栏FREE SOLO

    list集合示例代码

    import java.util.ArrayList; import java.util.List; interface Animal { // 动物 public String getName () ; public int getAge() ; } class Zoo { private List<Animal> animals = new ArrayList<Animal> public void delete(Animal ani) { this.animals.remove(ani) ; // 需要equals() } public List <Animal> search(String keyWord) { List<Animal> result = new ArrayList<Animal>() ; for , 2)); zoo.add(new Tiger("花虎", 2)); zoo.delete(new Dog("斑点狗", 1)); // 删除 List

    88200发布于 2019-04-18
  • 来自专栏CodeNone

    java基础集合-List

    java集合可以说无论是面试、刷题还是工作中都是非常常用的。抛去Iterable , 从Collection 级别说起,整个java集合主要分为Collection 和Map 两大类。 Collection 接口下呢,又有List 、Queue 和Set 三大接口,本篇文章就List 而言描述了Vector 、Stack 、ArrayList 和LinkedList 四大常用的类。 List 简单来说就是存取有序的集合,并且有索引值,元素可以重复。 ? ArrayList 结构及构造函数 ? 如果传进来的集合类型是ArrayList ,直接赋值即可,否则借助Arrays.copyOf 进行赋值。 LinkedList 结构及构造函数 值得注意的是LinkedList 即实现了List 接口,也实现了Deque ,本篇文章仅讨论实现了List 接口的部分。 ?

    1K30发布于 2021-08-12
  • 来自专栏java技术爱好者

    List集合的坑

    list.remove(str); } } list.forEach(System.out::println);//2 3 4 5 6 7 8 9 /2 3 4 5 6 7 8 9 10 } 使用asList()获得集合删除/增加 看代码演示: public static void main(String[] args) { (list); System.out.println(unmodifiableList);//[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] //删除原集合元素 extends E> list) { super(list); this.list = list; } 因为不可变集合的成员变量的引用是指向原集合的,所以当原集合改变时 (list); list.remove("1"); System.out.println(unmodifiableList);//[1, 2, 3, 4, 5, 6, 7

    1.2K20发布于 2020-09-22
领券