List 是工作中最常用的集合类型之一,在工作中经常把两种集合的方法搞混,这里列举一下java与c#一些常用的方法。
JAVA中的LIst类
Java中的List接口是一种有序集合,提供了对元素的有序访问。
常用方法:
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 命名空间提供,支持以下大部分的方法:
- Add(T):向列表末尾添加元素
- AddRange(IEnumerable<T>):向列表末尾添加 IEnumerable<T> 集合中的所有元素
- AsReadOnly():返回一个只读的列表
- BinarySearch(T):在列表中搜索指定的元素,并返回其从零开始的索引
- Clear():从列表中移除所有元素
- Contains(T):判断列表是否包含指定的元素
- ConvertAll<TOutput>(Converter<T,TOutput>):将列表中的所有元素转换为指定类型的元素,并返回一个新列表
- CopyTo(T[], Int32):将列表中的所有元素复制到指定数组中的指定索引位置
- Exists(Predicate<T>):判断是否至少有一个元素符合指定的条件
- Find(Predicate<T>):查找第一个符合指定条件的元素,并返回该元素
- FindAll(Predicate<T>):查找所有符合指定条件的元素,并返回一个新列表
- FindIndex(Predicate<T>):查找第一个符合指定条件元素的从零开始的索引位置
- FindLast(Predicate<T>):查找最后一个符合指定条件的元素,并返回该元素
- FindLastIndex(Predicate<T>):查找最后一个符合指定条件元素的从零开始的索引位置
- ForEach(Action<T>):对列表中的每个元素执行指定的操作
- GetRange(Int32, Int32):返回一个新列表,其中包含原列表中从指定索引位置开始的指定数量的元素
- IndexOf(T):返回指定元素第一次出现在列表中的从零开始的索引位置
- Insert(Int32, T):在指定索引位置插入一个元素
- InsertRange(Int32, IEnumerable<T>):在指定索引位置插入一个 IEnumerable<T> 集合中的所有元素
- LastIndexOf(T):返回指定元素最后一次出现在列表中的从零开始的索引位置
- Remove(T):从列表中移除第一个出现的指定元素
- RemoveAt(Int32):移除指定索引位置的元素
- RemoveAll(Predicate<T>):从列表中移除所有符合指定条件的元素
- RemoveRange(Int32, Int32):从列表中移除指定索引位置开始指定数量的元素
- Reverse():反转列表中元素的顺序
- Sort():对列表中的元素进行排序
- ToArray():将列表中的所有元素复制到一个新数组中
- TrimExcess():减少列表的内部数组的大小,以便与列表中的实际元素的数量相对应
- TrueForAll(Predicate<T>):判断是否所有元素都符合指定条件