Java基础知识讲解-ArrayList类

80 阅读1分钟

1、ArrayList特性

  • 是可以动态修改的数组;
  • 没有固定大小的限制,可以添加或删除元素;
  • 继承了 AbstractList ,并实现了 List 接口。

2、使用准备

导入ArrayList类:

import java.util.ArrayList;

初始化:

ArrayList<E> objectName =new ArrayList<>();
//E: 泛型数据类型,用于设置 objectName 的数据类型,只能为引用数据类型。

在这里插入图片描述

3、功能函数

(1)添加元素add()
import java.util.ArrayList;
public class Main
{
	public static void main(String[] args) {
		ArrayList<String> arr=new ArrayList<String>();
		arr.add("hello");
		arr.add("world");
		System.out.println(arr);//可以直接输出打印
	}
}
[hello, world]
(2)访问元素get
import java.util.ArrayList;
public class Main
{
	public static void main(String[] args) {
		ArrayList<String> arr=new ArrayList<String>();
		arr.add("hello");
		arr.add("world");
		System.out.println(arr);
		System.out.println(arr.get(0));//访问第一个元素
	}
}
[hello, world]
hello
(3)修改元素set
import java.util.ArrayList;
public class Main
{
	public static void main(String[] args) {
		ArrayList<String> arr=new ArrayList<String>();
		arr.add("hello");
		arr.add("world");
		System.out.println(arr);
		arr.set(1,"java");//索引,新值
		System.out.println(arr);
	}
}
[hello, world]
[hello, java]
(4)删除元素remove
import java.util.ArrayList;
public class Main
{
	public static void main(String[] args) {
		ArrayList<String> arr=new ArrayList<String>();
		arr.add("hello");
		arr.add("world");
		System.out.println(arr);
		arr.remove(1);//索引
		System.out.println(arr);
	}
}
[hello, world]
[hello]
(5)计算大小size
import java.util.ArrayList;
public class Main
{
	public static void main(String[] args) {
		ArrayList<String> arr=new ArrayList<String>();
		arr.add("hello");
		arr.add("world");
		System.out.println(arr);
		
		System.out.println(arr.size());
	}
}
[hello, world]
2

4、遍历元素

import java.util.ArrayList;
public class Main
{
	public static void main(String[] args) {
		ArrayList<String> arr=new ArrayList<String>();
		arr.add("hello");
		arr.add("world");
		arr.add("java");
		arr.add("python");
		for(int i=0;i<arr.size();i++)
		{
		    System.out.println(arr.get(i));//i是索引 
		}
		System.out.println("增强for循环:");
		for(String i:arr)
		{
		    System.out.println(i);//i就是元素
		}
	}
}
hello
world
java
python
增强for循环:
hello
world
java
python

5、排序

导入Collections类:

import java.util.Collections;
import java.util.ArrayList;
import java.util.Collections;
public class Main
{
	public static void main(String[] args) {
		ArrayList<String> arr=new ArrayList<String>();
		arr.add("hello");
		arr.add("world");
		arr.add("java");
		arr.add("python");
		Collections.sort(arr);
		for(int i=0;i<arr.size();i++)
		{
		    System.out.println(arr.get(i));//i是索引 
		}
		
		
	}
}

默认按字典序升序排序

hello
java
python
world

6、函数拓展

在这里插入图片描述
在这里插入图片描述
实例:

import java.util.ArrayList;
import java.util.Collections;
public class Main
{
	public static void main(String[] args) {
		ArrayList<String> arr=new ArrayList<String>();
		arr.add("hello");
		arr.add("world");
		arr.add("java");
		arr.add("python");
		Collections.sort(arr);
		for(int i=0;i<arr.size();i++)
		{
		    System.out.println(arr.get(i));//i是索引 
		}
		System.out.println(arr.contains("java"));
		System.out.println(arr.indexOf("python"));
		System.out.println(arr.subList(0,2).toString());
	
	}
}
hello
java
python
world
true
2
[hello, java]