Java中ArrayList 类的用法及其方法的详细介绍

可以创建一个数组存储对象,但是这个数组一旦创建, 它的大小就固定了。 Java提供ArrayList类来存储不限定个数的对象,下面来详细介绍下其基本用法:


一.基本用法

ArrayList是一种泛型类,具有一个泛型类型 E。创建一个ArrayList时, 可以指定一 个具体的类型来替换 E

举个例子:

ArrayList< String > cities = new ArrayList< String >();

这条语句创建一个ArrayList,并且将其引用赋值值给变量cities;
所以该ArrayList对象(即cities )可以用于存储字符串。

用法与c++的容器vector类似.


注意事项:

  • JDK1.7开始,语句 ArrayList< AConcreteType> list = new ArrayList< AConcreteType>();
    可以简化为 ArrayList< AConcreteType> list = new ArrayList<>();
  • 这条语句 ArrayList< int> list = new ArrayList<> () 是错误的。
    因为存储在 ArrayList 中的元素必须是一种对象。不能使用诸如 int 的基本数据类型来代替一个泛型类型。 但可以创建一个存储 Integer 对象的 ArrayList, 如下所示:
    ArrayList< Integer> list = new ArrayList<>();

二.ArrayList的一些基本方法如下图所示

在这里插入图片描述

三.ArrayList与数组的异同

我们可以像使用数组一样使用ArrayList对象,但是两者还是有很多不同之处。下图给出了二者的异同点:
在这里插入图片描述
在这里插入图片描述
补充:
数组里可以使用 foreach 循环来遍历元素。 数组列表中的元素也可以使用 foreach 循 环来进行遍历,
语法如下:

 for (elementType element: arrayList)
 {
    
     / / Process the element }

ArrayList的优势:

  1. ArrayList 的大小是灵活的, 所以无须提前给定它的大小。 而当创建一个数组时, 它 的大小必须给定。
  2. ArrayList 包含许多有用的方法。 比如,可以使用 contains 方法来测试某个元素是否在列表中。 如果使用数组, 则需要编写额外代码来实现该方法。

四.列表其它有用的方法

要点提示: Java 提供了方法, 用于从数组创建列表、对列表排序、找到列表中的最大和最小元素,以及打乱一个列表。

1.数组和列表的相互转换

从数组中创建列表

  • Arrays 类中的静态方法 asList可以从一个数组中返回一个列表,该列表传递给 ArrayList 的构造方法用 于创建一个 ArrayList。
    语法如下:
ArrayList< String> list * = new ArrayList<> (Arrays. asList (array) );
例如: String[] array ={ "red","green","blue"} ; ArrayList list * new ArrayListo (Arrays. asList (array) ) ;

从列表中创建数组

可以使用list. toArray (array)方法从一个数组列表来创建一个对象数组。

基本语法如下:

String[] array = new String[list. size () ] ; 
list. toArray (array) ; //调用 list. toArray(arrayl将 list 中的内容复制到 array中

2. 对列表排序—java. util . Collections .sort(list)

如果列表中的元素是可比较的,比如整数、双精度浮点数或者字符串,则可以使用 java.util.Collections 类中的静态的 sort 方法来对元素进行排序,

举例如下:

Integer[] array = {
    
    3, 5, 95, 4, 15, 34, 3, 6, 5} ;
 ArrayList<Integer> list = new ArrayListo (Arrays.asList (array) ) ; java.util.Collections.sort(list) ;
  System. out. println(list) ;

3.找到列表中的最大和最小元素——java.util. Collections.min(array)

可以使用 java.util. Collections 类中的静态的 max 和 min 方法来返回列表中的最大和最小元素。

举例如下:

Integer[] array «{
    
    3, 5, 95, 4, 15, 34, 3, 6, 5} ; 
ArrayList<Integer> list = new ArrayList<>(Arrays. asList (array)); 
System.out.println(java.util.Collections.max(1ist) ) ; 
System.out.println(java.util.Collections.min(list) ) ; 

4.打乱一个列表---- java. util. Collections. shuffle (list);

可以使用 java. util. Collections 类中的静态的 shuffle 方法来随机打乱列表的元素。

举例如下:

 Integer[] array = {
    
    3, 9, 95, 4, 15, 34, 7, 6, 8} ;
 ArrayList<Integer> list = new ArrayList<>(Arrays.asList (array)); 
 java.util.Col1ections.shuff1e (1ist); 
 System.out println(list) ; 

猜你喜欢

转载自blog.csdn.net/qq_45768060/article/details/106193944