# ArrayList

Java 中的 ArrayList 数据类型, 是一个类

底层由数组实现, 可以动态增长， 在列表尾部插入或删除数据非常有效，更适合查找和更新元素

常用方法 add, get, remove

ArrayList 实现了 Java 中的 List 接口。

## ArrayList 声明

Java 中的 ArrayList 特性通常不会直接暴露给用户, 而是通过 List 这个接口来对外展示的, 所以创建ArrayList时使用List 打头，new 的时候才展现出这个 List 底层是由 ArrayList 实现的。

ArrayList 声明格式: List<数据类型> 变量名 = new ArrayList<>()&#x20;

```java
List<String> list=new ArrayList<String>();	
```

## ArrayList 增删元素

ArrayList 的大小可以动态增长, 可通过add() 方法添加元素， 和通过 remove () 方法删除元素

```java
list.add("Java");
list.add("C");
list.add("C++");

list.remove("C++");
```

## ArrayList 遍历与元素的获取

可以通过索引进行遍历，结合 .size() , .get() 方法

```java
//使用索引遍历set元素
for(int i=0;i<list.size();i++) {
    System.out.print(list.get(i)+ " ");
}
```

也可以直接使用增强型for循环进行遍历

```java
//使用增强型for循环遍历set元素
for (String s: list) {
    System.out.print(s+" ");
}
```

## ArrayList 排序

可使用Collection.sort()对ArrayList进行排序, 默认为升序排序

```java
Collections.sort(list);
System.out.println("list排序后:");
for(int i=0;i<list.size();i++) {
    System.out.print(list.get(i)+ " ");
}
```
