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>):判断是否所有元素都符合指定条件
                                                            目录
                                                            相关文章
                                                            |
                                                            4天前
                                                            |
                                                            Java 物联网 C#
                                                            C#/.NET/.NET Core学习路线集合,学习不迷路!
                                                            C#/.NET/.NET Core学习路线集合,学习不迷路!
                                                            |
                                                            6天前
                                                            |
                                                            JSON 程序员 C#
                                                            使用 C# 比较两个对象是否相等的7个方法总结
                                                            比较对象是编程中的一项基本技能,在实际业务中经常碰到,比如在ERP系统中,企业的信息非常重要,每一次更新,都需要比较记录更新前后企业的信息,直接比较通常只能告诉我们它们是否指向同一个内存地址,那我们应该怎么办呢?分享 7 个方法给你!
                                                            |
                                                            6天前
                                                            |
                                                            Java
                                                            Java 8 引入的 Streams 功能强大,提供了一种简洁高效的处理数据集合的方式
                                                            Java 8 引入的 Streams 功能强大,提供了一种简洁高效的处理数据集合的方式。本文介绍了 Streams 的基本概念和使用方法,包括创建 Streams、中间操作和终端操作,并通过多个案例详细解析了过滤、映射、归并、排序、分组和并行处理等操作,帮助读者更好地理解和掌握这一重要特性。
                                                            14 2
                                                            |
                                                            6天前
                                                            |
                                                            安全 Java
                                                            Java多线程集合类
                                                            本文介绍了Java中线程安全的问题及解决方案。通过示例代码展示了使用`CopyOnWriteArrayList`、`CopyOnWriteArraySet`和`ConcurrentHashMap`来解决多线程环境下集合操作的线程安全问题。这些类通过不同的机制确保了线程安全,提高了并发性能。
                                                            |
                                                            11天前
                                                            |
                                                            存储 Java
                                                            判断一个元素是否在 Java 中的 Set 集合中
                                                            【10月更文挑战第30天】使用`contains()`方法可以方便快捷地判断一个元素是否在Java中的`Set`集合中,但对于自定义对象,需要注意重写`equals()`方法以确保正确的判断结果,同时根据具体的性能需求选择合适的`Set`实现类。
                                                            |
                                                            8天前
                                                            |
                                                            C# UED SEO
                                                            C# 异步方法async / await任务超时处理
                                                            通过使用 `Task.WhenAny`和 `Task.Delay`方法,您可以在C#中有效地实现异步任务的超时处理机制。这种方法允许您在指定时间内等待任务完成,并在任务超时时采取适当的措施,如抛出异常或执行备用操作。希望本文提供的详细解释和代码示例能帮助您在实际项目中更好地处理异步任务超时问题,提升应用程序的可靠性和用户体验。
                                                            27 3
                                                            |
                                                            10天前
                                                            |
                                                            存储 Java 程序员
                                                            Java基础的灵魂——Object类方法详解(社招面试不踩坑)
                                                            本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
                                                            50 4
                                                            |
                                                            11天前
                                                            |
                                                            存储 Java 开发者
                                                            在 Java 中,如何遍历一个 Set 集合?
                                                            【10月更文挑战第30天】开发者可以根据具体的需求和代码风格选择合适的遍历方式。增强for循环简洁直观,适用于大多数简单的遍历场景;迭代器则更加灵活,可在遍历过程中进行更多复杂的操作;而Lambda表达式和`forEach`方法则提供了一种更简洁的函数式编程风格的遍历方式。
                                                            |
                                                            11天前
                                                            |
                                                            Java 开发者
                                                            |
                                                            14天前
                                                            |
                                                            Java 测试技术 Maven
                                                            Java一分钟之-PowerMock:静态方法与私有方法测试
                                                            通过本文的详细介绍,您可以使用PowerMock轻松地测试Java代码中的静态方法和私有方法。PowerMock通过扩展Mockito,提供了强大的功能,帮助开发者在复杂的测试场景中保持高效和准确的单元测试。希望本文对您的Java单元测试有所帮助。
                                                            27 2