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>):判断是否所有元素都符合指定条件
                                                            目录
                                                            相关文章
                                                            |
                                                            5天前
                                                            |
                                                            缓存 算法 Java
                                                            Java面试题:深入探究Java内存模型与垃圾回收机制,Java中的引用类型在内存管理和垃圾回收中的作用,Java中的finalize方法及其在垃圾回收中的作用,哪种策略能够提高垃圾回收的效率
                                                            Java面试题:深入探究Java内存模型与垃圾回收机制,Java中的引用类型在内存管理和垃圾回收中的作用,Java中的finalize方法及其在垃圾回收中的作用,哪种策略能够提高垃圾回收的效率
                                                            12 1
                                                            |
                                                            6天前
                                                            |
                                                            存储 Java 索引
                                                            Java基础之集合
                                                            “【7月更文挑战第7天】”Java集合框架用于存放对象,包括List(如ArrayList、LinkedList、Vector)、Set(如HashSet、LinkedHashSet、TreeSet)和Queue(如PriorityQueue、ArrayDeque)。集合存放对象引用,基本类型自动转换为包装类。Collection是最基础接口,其子接口List、Set和Queue定义不同集合行为。Java提供抽象类和实现类简化开发,例如AbstractList、ArrayList、LinkedList等。集合通过Iterator遍历,也可用增强for循环。
                                                            35 11
                                                            |
                                                            5天前
                                                            |
                                                            存储 安全 Java
                                                            Java基础之集合Map
                                                            【7月更文挑战第8天】Java中的Map集合以键值对方式存储数据,如`Map&lt;&quot;name&quot;, &quot;张三&quot;&gt;`。Map接口定义了存取、判断、移除等操作,包括`put`、`get`、`containsKey`等方法。HashMap是最常用的实现,基于哈希表,允许null键值,但不保证顺序。其他实现包括同步的Hashtable、处理属性文件的Properties、保持插入顺序的LinkedHashMap、基于红黑树的TreeMap、弱引用的WeakHashMap、并发安全的ConcurrentHashMap和针对枚举优化的EnumMap。
                                                            11 4
                                                            |
                                                            5天前
                                                            |
                                                            缓存 Prometheus 监控
                                                            Java面试题:如何监控和优化JVM的内存使用?详细讲解内存调优的几种方法
                                                            Java面试题:如何监控和优化JVM的内存使用?详细讲解内存调优的几种方法
                                                            25 3
                                                            |
                                                            4天前
                                                            |
                                                            安全 算法 Java
                                                            Java面试题:如何使用并发集合,例如ConcurrentHashMap?
                                                            Java面试题:如何使用并发集合,例如ConcurrentHashMap?
                                                            15 1
                                                            |
                                                            5天前
                                                            |
                                                            缓存 监控 算法
                                                            Java面试题:讨论JVM性能调优的常见方法和技巧。
                                                            Java面试题:讨论JVM性能调优的常见方法和技巧。
                                                            10 1
                                                            |
                                                            5天前
                                                            |
                                                            设计模式 缓存 安全
                                                            Java面试题:工厂模式与内存泄漏防范?线程安全与volatile关键字的适用性?并发集合与线程池管理问题
                                                            Java面试题:工厂模式与内存泄漏防范?线程安全与volatile关键字的适用性?并发集合与线程池管理问题
                                                            11 1
                                                            |
                                                            5天前
                                                            |
                                                            存储 设计模式 监控
                                                            Java面试题:简述JVM的内存结构,包括堆、栈、方法区等。栈内存优化的方法有 哪些?
                                                            Java面试题:简述JVM的内存结构,包括堆、栈、方法区等。栈内存优化的方法有 哪些?
                                                            15 0
                                                            |
                                                            5天前
                                                            |
                                                            存储 安全 Java
                                                            Java面试题:请解释Java中的泛型集合框架?以及泛型的经典应用案例
                                                            Java面试题:请解释Java中的泛型集合框架?以及泛型的经典应用案例
                                                            10 0
                                                            |
                                                            5天前
                                                            |
                                                            安全 Java 开发者
                                                            Java多线程:Java中如何创建线程安全的集合,编程中如何优化Java多线程集合
                                                            Java多线程:Java中如何创建线程安全的集合,编程中如何优化Java多线程集合
                                                            16 0