List 是工作中最常用的集合类型之一,在工作中经常把两种集合的方法搞混,这里列举一下java与c#一些常用的方法。
JAVA中的LIst类
Java中的List接口是一种有序集合,提供了对元素的有序访问。
![](https://i-blog.csdnimg.cn/blog_migrate/6e3b4f20271d24c26a2bfcf2e77e6652.png)
常用方法:
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>):判断是否所有元素都符合指定条件