如何在Java中将数组列表转换为数组

时间:2020-02-23 14:33:55  来源:igfitidea点击:

数组列表是框架集合的一个子集,它存在于" java.util"包中。
它说明了Java中的动态数组。
虽然,它可能比标准数组慢,但是对于需要大量操作数组的程序来说,这似乎很有帮助。

数组列表的函数

  • Array List继承Abstract List类并实现List接口。

  • 数组列表是通过大小初始化的。但是,如果从集合中提取对象,则如果集合增大或者缩小,则其大小可能会增加。

  • Java数组列表为我们提供了对列表的随机访问。

  • 数组列表不能用于较早的类型,例如int,char等。包装器类用于此类情况。

  • Java中的数组列表可以看作类似于C ++中的向量。

Java数组列表由构造函数和方法组成。
下面提到的详细信息是一些构造函数和方法以及它们的用法和函数的列表。

  • ArrayList():此构造函数用于创建一个空数组列表

  • ArrayList(Collection c):此构造函数用于创建一个数组列表,该数组列表使用集合c中的元素初始化。

  • ArrayList(int capacity):此构造函数用于创建具有指定初始容量的数组列表。

让我们看一个简单的代码来创建一个数组列表。

例子:

import java.io.*;
import java.util.*;
class arrayli {
      public static void main(String[] args) throws IOException {
           int n = 5;
           ArrayList<Integer> arrli = new ArrayList<Integer>(n);
           for (int i = 1; i <= n; i++)
                 arrli.add(i);
           System.out.println(arrli);
           arrli.remove(3);
           System.out.println(arrli);
           for (int i = 0; i < arrli.size(); i++)
                 System.out.print(arrli.get(i) + " ");
      }
}

//

[1, 2, 3, 4, 5]
[1, 2, 3, 5]
1 2 3 5

Java中的一些常用方法

  • forEach (Consumer action):它将对重复因子的每个元素执行特定操作,直到所有元素都已处理或者某个操作引发异常。

  • retainAll (Collection c):它仅保留此列表中包含在特定集合中的元素。

  • removeIf (Predicate filter):它将提取满足给定谓词的集合中的所有元素。

  • contains (Object o):如果列表具有指定的元素,则返回true。

  • remove(int index):这将删除列表中给定特定位置的元素。

  • remove(Object o):如果存在的话,这将从列表中删除指定元素的初始出现。

  • get(int index):返回列表中特定位置的元素。

  • subList(int fromIndex,int toIndex):它返回此列表的一部分,介于指定的从索引(包括)到索引(不包括)之间。

  • spliterator():它将在此列表中的元素上创建一个后期绑定和快速失败的Split迭代器。

将数组列表转换为Array()语法。

有两种方法:

  • "第一个方法"将不接受任何参数,并返回对象类型的数组。迭代对象数组,找到所需的元素并将类型转换为所需的类类型是我们的责任。

  • 在"第二种方法"中,返回数组的运行时类型是指定数组。如果列表适合指定的数组,它将其中返回。否则,将立即为新数组分配一个指定数组的运行时类型以及此列表的大小。

填充所有数组元素后,数组中还有更多空间。
然后在所有这些多余的位置填充" null"。

  • "将数组列表转换为Array()–转换为对象数组"

相应输出的代码位于该输出下方。

例子:

import java.util.ArrayList;
import java.util.Arrays;
 
public class ArrayListExample {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>(2);
        list.add("A");
        list.add("B");
        list.add("C");
        list.add("D");
        Object[] array = list.toArray();
        System.out.println( Arrays.toString(array) );
        for(Object o : array) {
            String s = (String) o;
            System.out.println(s);
        }
    }
}

// [A, B, C, D]

A
B
C
D
  • "从数组列表到数组(T [] a)转换为字符串数组"

例子:

import java.util.ArrayList;
import java.util.Arrays;
 
public class ArrayListExample{
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>(2);
        list.add("A");
        list.add("B");
        list.add("C");
        list.add("D");
        String[] array = list.toArray(new String[list.size()]);
        System.out.println(Arrays.toString(array));
    }
}

// [A, B, C, D]