如何声明和构造泛型数组列表(arraylist类)?常用操作有哪些?如何转化为普通数组?
时间: 2023-04-18 19:03:26 浏览: 203
声明和构造泛型数组列表可以使用以下语法:
```java
ArrayList<T> list = new ArrayList<T>();
```
其中,`T`表示泛型类型参数,可以是任何类型。常用操作包括:
- `add(T element)`:向列表末尾添加元素
- `get(int index)`:获取指定位置的元素
- `set(int index, T element)`:替换指定位置的元素
- `remove(int index)`:删除指定位置的元素
- `size()`:获取列表的长度
- `clear()`:清空列表
要将泛型数组列表转化为普通数组,可以使用以下语法:
```java
T[] array = list.toArray(new T[list.size()]);
```
其中,`list.toArray()`方法返回一个`Object[]`类型的数组,需要通过强制类型转换转化为泛型类型数组。
相关问题
如何将数组转换为集合?如何将集合转换为数组?如何合并两个集合?如何从集合中删除所有匹配的元素?
将数组转换为集合:
在Java中,可以使用`ArrayList`、`LinkedList`等集合类的构造函数,直接传入数组来创建集合。例如,对于整型数组:
```java
Integer[] array = {1, 2, 3};
List<Integer> list = new ArrayList<>(Arrays.asList(array));
```
将集合转换为数组:
使用`toArray()`方法,它可以将集合转换为数组,但需要指定泛型参数,如:
```java
List<Integer> list = Arrays.asList(1, 2, 3);
Integer[] array = list.toArray(new Integer[0]);
```
合并两个集合:
可以使用`addAll()`方法将一个集合追加到另一个集合:
```java
List<String> list1 = new ArrayList<>();
list1.add("a");
List<String> list2 = new ArrayList<>();
list2.add("b");
list1.addAll(list2); // 现在 list1 包含 "a", "b"
```
从集合中删除所有匹配的元素:
使用`removeAll()`方法,传入另一个集合作为参数,它会移除当前集合中所有存在于那个集合中的元素:
```java
List<Integer> list = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
list.removeAll(Arrays.asList(2, 4)); // 删除 2 和 4
```
C# arrayList数组转成list数组
你可以使用`ArrayList`类的`ToArray`方法将`ArrayList`转换为数组,然后使用`List`类的构造函数将其转换为`List`数组。以下是一个示例代码:
```csharp
ArrayList arrayList = new ArrayList();
arrayList.Add("Apple");
arrayList.Add("Banana");
arrayList.Add("Orange");
string[] array = (string[])arrayList.ToArray(typeof(string));
List<string> list = new List<string>(array);
```
在这个示例中,我们首先将`ArrayList`对象 `arrayList` 填充了一些字符串元素。然后,我们使用 `ToArray` 方法将其转换为 `string` 类型的数组。最后,我们使用 `List` 类的构造函数将数组转换为 `List<string>` 对象。
请注意,`ArrayList` 是非泛型的集合类,而 `List<T>` 是泛型的集合类。因此,在将 `ArrayList` 转换为 `List<T>` 时,需要指定元素类型。
希望这可以帮助到你!如果还有其他问题,请随时提问。
阅读全文