List集合常用方法java与c#

简介: List 是工作中最常用的集合类型之一,在工作中经常把两种集合的方法搞混,这里列举一下java与c#一些常用的方法。

List 是工作中最常用的集合类型之一,在工作中经常把两种集合的方法搞混,这里列举一下java与c#一些常用的方法。

JAVA中的LIst类

Java中的List接口是一种有序集合,提供了对元素的有序访问。

image.gif

常用方法:

1. add(Object obj):添加元素obj到list的末尾。

2. add(int index, Object obj):在指定的索引处将元素obj插入list。

3. remove(Object obj):删除list中的元素obj,如果存在的话。

4. remove(int index):删除索引处的元素。

5. get(int index):返回指定索引处的元素。

6. size():返回list中元素的数量。

7. isEmpty():如果list为空,返回true;否则返回false。

8. indexOf(Object obj):返回元素obj在list中第一次出现的位置的索引,如果不存在则返回-1。

9. set(int index, Object obj):替换指定索引处的元素。

10. subList(int fromIndex, int toIndex):返回list中指定范围[fromIndex, toIndex)的子集合。

除了上述常用方法外,List还有许多其他很有用的方法,比如contains(Object obj)、addAll(Collection c)、iterator()等等。了解和运用这些方法,将有助于更好地使用Java中的List。

想了解java的map集合可以看我之前的博客👇

JAVA & Map集合详解_maps.newlinkedhashmap_爱吃香蕉的阿豪的博客-CSDN博客

c#中的List类

在 C# 中 List<T> 类型由 System.Collections.Generic 命名空间提供,支持以下大部分的方法:

    1. Add(T):向列表末尾添加元素
      1. AddRange(IEnumerable<T>):向列表末尾添加 IEnumerable<T> 集合中的所有元素
        1. AsReadOnly():返回一个只读的列表
          1. BinarySearch(T):在列表中搜索指定的元素,并返回其从零开始的索引
            1. Clear():从列表中移除所有元素
              1. Contains(T):判断列表是否包含指定的元素
                1. ConvertAll<TOutput>(Converter<T,TOutput>):将列表中的所有元素转换为指定类型的元素,并返回一个新列表
                  1. CopyTo(T[], Int32):将列表中的所有元素复制到指定数组中的指定索引位置
                    1. Exists(Predicate<T>):判断是否至少有一个元素符合指定的条件
                      1. Find(Predicate<T>):查找第一个符合指定条件的元素,并返回该元素
                        1. FindAll(Predicate<T>):查找所有符合指定条件的元素,并返回一个新列表
                          1. FindIndex(Predicate<T>):查找第一个符合指定条件元素的从零开始的索引位置
                            1. FindLast(Predicate<T>):查找最后一个符合指定条件的元素,并返回该元素
                              1. FindLastIndex(Predicate<T>):查找最后一个符合指定条件元素的从零开始的索引位置
                                1. ForEach(Action<T>):对列表中的每个元素执行指定的操作
                                  1. GetRange(Int32, Int32):返回一个新列表,其中包含原列表中从指定索引位置开始的指定数量的元素
                                    1. IndexOf(T):返回指定元素第一次出现在列表中的从零开始的索引位置
                                      1. Insert(Int32, T):在指定索引位置插入一个元素
                                        1. InsertRange(Int32, IEnumerable<T>):在指定索引位置插入一个 IEnumerable<T> 集合中的所有元素
                                          1. LastIndexOf(T):返回指定元素最后一次出现在列表中的从零开始的索引位置
                                            1. Remove(T):从列表中移除第一个出现的指定元素
                                              1. RemoveAt(Int32):移除指定索引位置的元素
                                                1. RemoveAll(Predicate<T>):从列表中移除所有符合指定条件的元素
                                                  1. RemoveRange(Int32, Int32):从列表中移除指定索引位置开始指定数量的元素
                                                    1. Reverse():反转列表中元素的顺序
                                                      1. Sort():对列表中的元素进行排序
                                                        1. ToArray():将列表中的所有元素复制到一个新数组中
                                                          1. TrimExcess():减少列表的内部数组的大小,以便与列表中的实际元素的数量相对应
                                                            1. TrueForAll(Predicate<T>):判断是否所有元素都符合指定条件
                                                            目录
                                                            相关文章
                                                            |
                                                            1月前
                                                            |
                                                            Java
                                                            Java语言实现字母大小写转换的方法
                                                            Java提供了多种灵活的方法来处理字符串中的字母大小写转换。根据具体需求,可以选择适合的方法来实现。在大多数情况下,使用 String类或 Character类的方法已经足够。但是,在需要更复杂的逻辑或处理非常规字符集时,可以通过字符流或手动遍历字符串来实现更精细的控制。
                                                            223 18
                                                            |
                                                            1月前
                                                            |
                                                            存储 Java 索引
                                                            (Python基础)新时代语言!一起学习Python吧!(二):字符编码由来;Python字符串、字符串格式化;list集合和tuple元组区别
                                                            字符编码 我们要清楚,计算机最开始的表达都是由二进制而来 我们要想通过二进制来表示我们熟知的字符看看以下的变化 例如: 1 的二进制编码为 0000 0001 我们通过A这个字符,让其在计算机内部存储(现如今,A 字符在地址通常表示为65) 现在拿A举例: 在计算机内部 A字符,它本身表示为 65这个数,在计算机底层会转为二进制码 也意味着A字符在底层表示为 1000001 通过这样的字符表示进行转换,逐步发展为拥有127个字符的编码存储到计算机中,这个编码表也被称为ASCII编码。 但随时代变迁,ASCII编码逐渐暴露短板,全球有上百种语言,光是ASCII编码并不能够满足需求
                                                            140 4
                                                            |
                                                            1月前
                                                            |
                                                            Java 编译器 Go
                                                            【Java】(5)方法的概念、方法的调用、方法重载、构造方法的创建
                                                            Java方法是语句的集合,它们在一起执行一个功能。方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建,在其他地方被引用方法的优点使程序变得更简短而清晰。有利于程序维护。可以提高程序开发的效率。提高了代码的重用性。方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头写,不使用连接符。例如:addPerson。这种就属于驼峰写法下划线可能出现在 JUnit 测试方法名称中用以分隔名称的逻辑组件。
                                                            196 4
                                                            |
                                                            2月前
                                                            |
                                                            算法 安全 Java
                                                            除了类,Java中的接口和方法也可以使用泛型吗?
                                                            除了类,Java中的接口和方法也可以使用泛型吗?
                                                            134 11
                                                            |
                                                            1月前
                                                            |
                                                            编解码 Java 开发者
                                                            Java String类的关键方法总结
                                                            以上总结了Java `String` 类最常见和重要功能性方法。每种操作都对应着日常编程任务,并且理解每种操作如何影响及处理 `Strings` 对于任何使用 Java 的开发者来说都至关重要。
                                                            265 5
                                                            |
                                                            2月前
                                                            |
                                                            Java 开发者
                                                            Java 函数式编程全解析:静态方法引用、实例方法引用、特定类型方法引用与构造器引用实战教程
                                                            本文介绍Java 8函数式编程中的四种方法引用:静态、实例、特定类型及构造器引用,通过简洁示例演示其用法,帮助开发者提升代码可读性与简洁性。
                                                            |
                                                            3月前
                                                            |
                                                            算法 Java 开发者
                                                            Java 项目实战数字华容道与石头迷阵游戏开发详解及实战方法
                                                            本文介绍了使用Java实现数字华容道和石头迷阵游戏的技术方案与应用实例,涵盖GUI界面设计、二维数组操作、游戏逻辑控制及自动解法算法(如A*),适合Java开发者学习游戏开发技巧。
                                                            278 46
                                                            |
                                                            4月前
                                                            |
                                                            并行计算 Java API
                                                            Java List 集合结合 Java 17 新特性与现代开发实践的深度解析及实战指南 Java List 集合
                                                            本文深入解析Java 17中List集合的现代用法,结合函数式编程、Stream API、密封类、模式匹配等新特性,通过实操案例讲解数据处理、并行计算、响应式编程等场景下的高级应用,帮助开发者提升集合操作效率与代码质量。
                                                            221 1
                                                            |
                                                            3月前
                                                            |
                                                            算法 Java
                                                            Java语言实现链表反转的方法
                                                            这种反转方法不需要使用额外的存储空间,因此空间复杂度为,它只需要遍历一次链表,所以时间复杂度为,其中为链表的长度。这使得这种反转链表的方法既高效又实用。
                                                            370 0
                                                            |
                                                            3月前
                                                            |
                                                            存储 Java 数据处理
                                                            Java映射操作:深入Map.getOrDefault与MapUtils方法
                                                            结合 `getOrDefault`方法的简洁性及 `MapUtils`的丰富功能,Java的映射操作变得既灵活又高效。合理地使用这些工具能够显著提高数据处理的速度和质量。开发人员可以根据具体的应用场景选择适宜的方法,以求在性能和可读性之间找到最佳平衡。
                                                            177 0