亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> java

Java ArrayList 类

Java ArrayList 类

在本教程中,我们将学习 Java 中的 ArrayList 类。我们将通过示例了解arraylist的不同操作和方法。

ArrayList Java 集合框架的类提供了 resizable-arrays 的功能 .

它实现了 List 界面。

<图>

Java ArrayList 与数组

在 Java 中,我们需要先声明数组的大小,然后才能使用它。一旦声明了数组的大小,就很难更改。

为了处理这个问题,我们可以使用 ArrayList 班级。它允许我们创建可调整大小的数组。

与数组不同,arraylists 可以在我们添加或删除元素时自动调整其容量。因此,数组列表也称为动态数组 .


创建一个数组列表

使用 ArrayList 之前 ,我们需要导入 java.util.ArrayList 先打包。下面是我们如何在 Java 中创建数组列表:

ArrayList<Type> arrayList= new ArrayList<>();

在这里,类型 表示数组列表的类型。例如,

// create Integer type arraylist
ArrayList<Integer> arrayList = new ArrayList<>();

// create String type arraylist
ArrayList<String> arrayList = new ArrayList<>();

在上面的程序中,我们使用了 Integer 不是int。这是因为我们在创建数组列表时不能使用原始类型。相反,我们必须使用相应的包装类。

这里,Integerint对应的包装类 .要了解更多信息,请访问 Java 包装类。


示例:在 Java 中创建 ArrayList

import java.util.ArrayList;

class Main {
  public static void main(String[] args){

    // create ArrayList
    ArrayList<String> languages = new ArrayList<>();

    // Add elements to ArrayList
    languages.add("Java");
    languages.add("Python");
    languages.add("Swift");
    System.out.println("ArrayList: " + languages);
  }
}

输出

ArrayList: [Java, Python, Swift]

在上面的例子中,我们创建了一个 ArrayList 命名为语言 .

在这里,我们使用了 add() 方法将元素添加到arraylist。我们将详细了解 add() 本教程后面的方法。


ArrayList 的基本操作

ArrayList 类提供了各种方法来对数组列表执行不同的操作。我们将在本教程中看一些常用的arraylist操作:


1.将元素添加到 ArrayList

要将单个元素添加到 arraylist,我们使用 add() ArrayList的方法 班级。例如,

import java.util.ArrayList;

class Main {
  public static void main(String[] args){
    // create ArrayList
    ArrayList<String> languages = new ArrayList<>();

    // add() method without the index parameter
    languages.add("Java");
    languages.add("C");
    languages.add("Python");
    System.out.println("ArrayList: " + languages);
  }
}

输出

ArrayList: [Java, C, Python]

在上面的例子中,我们创建了一个 ArrayList 命名为语言 .在这里,我们使用了 add() 将元素添加到 languages 的方法 .

要了解更多信息,请访问 Java ArrayList add()。

向数组列表添加元素的其他方式

如何在 ArrayList 的指定位置添加元素?

我们也可以传递一个索引号 作为 add() 的附加参数 在指定位置添加元素的方法。例如,

// add JavaScript at index 1
languages.add(1, "JavaScript");

// add C++ at index 3
languages.add(3, "C++");
如何将集合的所有元素添加到数组列表?

我们还可以使用 addAll() 将集合(集合、映射)的所有元素添加到数组列表 方法。例如,

import java.util.ArrayList;
import java.util.HashSet;

class Main {
  public static void main(String[] args) {

    // create a set
    HashSet<String> vowels = new HashSet<>();
    vowels.add("a");
    vowels.add("e");
    vowels.add("i");

    // create an arraylist
    ArrayList<String> alphabets = new ArrayList<>();

    // add all elements of set to arraylist
    alphabets.addAll(vowels);
    System.out.println("ArrayList: " + alphabets);
  }
}

// Output: ArrayList: [a, e, i]

要了解更多信息,请访问 Java ArrayList addAll()。


2.访问 ArrayList 元素

要访问数组列表中的元素,我们使用 get() ArrayList 的方法 班级。例如,

import java.util.ArrayList;

class Main {
  public static void main(String[] args) {
    ArrayList<String> animals = new ArrayList<>();

    // add elements in the arraylist
    animals.add("Cat");
    animals.add("Dog");
    animals.add("Cow");
    System.out.println("ArrayList: " + animals);

    // get the element from the arraylist
    String str = animals.get(1);
    System.out.print("Element at index 1: " + str);
  }
}

输出

ArrayList: [Cat, Dog, Cow]
Element at index 1: Dog

在上面的例子中,我们使用了 get() 带有参数 1 的方法 .这里,该方法返回 index 1 处的元素 .

要了解更多信息,请访问 Java ArrayList get()。

我们还可以访问 ArrayList 的元素 使用 iterator() 方法。要了解更多信息,请访问 Java ArrayList iterator()。


3.更改 ArrayList 元素

要更改数组列表的元素,我们使用 set() ArrayList 的方法 班级。例如,

import java.util.ArrayList;

class Main {
  public static void main(String[] args) {
    ArrayList<String> languages = new ArrayList<>();

    // add elements in the array list
    languages.add("Java");
    languages.add("Kotlin");
    languages.add("C++");
    System.out.println("ArrayList: " + languages);

    // change the element of the array list
    languages.set(2, "JavaScript");
    System.out.println("Modified ArrayList: " + languages);
  }
}

输出

ArrayList: [Java, Kotlin, C++]
Modified ArrayList: [Java, Kotlin, JavaScript]

在上面的例子中,我们创建了一个 ArrayList 命名为语言 .注意这一行,

language.set(2, "JavaScript");

在这里,set() 方法更改 index 2 处的元素 到 JavaScript .

要了解更多信息,请访问 Java ArrayList set()。


4.删除 ArrayList 元素

要从数组列表中删除一个元素,我们可以使用 remove() ArrayList的方法 班级。例如,

import java.util.ArrayList;

class Main {
  public static void main(String[] args) {
    ArrayList<String> animals = new ArrayList<>();

    // add elements in the array list
    animals.add("Dog");
    animals.add("Cat");
    animals.add("Horse");
    System.out.println("ArrayList: " + animals);

    // remove element from index 2
    String str = animals.remove(2);
    System.out.println("Updated ArrayList: " + animals);
    System.out.println("Removed Element: " + str);
  }
}

输出

ArrayList: [Dog, Cat, Horse]
Updated ArrayList: [Dog, Cat]
Removed Element: Horse

在这里,remove() 方法采用索引号 作为参数。并且,移除 index number 指定的元素 .

要了解更多信息,请访问 Java ArrayList remove()。

我们还可以一次从 arraylist 中删除所有元素。要了解更多信息,请访问


ArrayList类的方法

在上一节中,我们了解了 add() , get() , set() , 和 remove() ArrayList 的方法 类。

除了这些基本方法,这里还有一些 ArrayList 常用的方法。

方法 说明
尺寸() 返回数组列表的长度。
排序() 对arraylist元素进行排序。
克隆() 创建一个具有相同元素、大小和容量的新数组列表。
包含() 在数组列表中搜索指定元素并返回布尔结果。
ensureCapacity() 指定arraylist可以包含的总元素。
isEmpty() 检查数组列表是否为空。
indexOf() 在arraylist中搜索指定元素并返回该元素的索引。

如果你想了解arraylist的所有不同方法,请访问Java ArrayList方法。


遍历一个 ArrayList

我们可以使用Java for-each 循环来遍历arraylist 的每个元素。例如,

import java.util.ArrayList;

class Main {
  public static void main(String[] args) {

    // creating an array list
    ArrayList<String> animals = new ArrayList<>();
    animals.add("Cow");
    animals.add("Cat");
    animals.add("Dog");
    System.out.println("ArrayList: " + animals);

    // iterate using for-each loop
    System.out.println("Accessing individual elements:  ");

    for (String language : animals) {
      System.out.print(language);
      System.out.print(", ");
    }
  }
}

输出

ArrayList: [Cow, Cat, Dog]
Accessing individual elements:  
Cow, Cat, Dog,

常见问题

Java ArrayList 和 LinkedList 有什么区别?

ArrayList 之间的一些主要区别 和 LinkedList 在 Java 中是:

数组列表 链表
实现List 界面 实现 List , Queue , 和 Deque 接口。
存储单个值。 存储 3 个值:数据、上一个地址和下一个地址
提供可调整大小数组的功能。 提供双向链表的功能
如何将 ArrayList 转换为 Array?

我们可以将 ArrayList 使用 toArray() 进入数组 方法。例如,

import java.util.ArrayList;

class Main {
  public static void main(String[] args) {
    ArrayList<String> languages = new ArrayList<>();

    // add elements in the array list
    languages.add("Java");
    languages.add("Python");
    languages.add("C++");
    System.out.println("ArrayList: " + languages);

    // create a new array of String type
    String[] arr = new String[languages.size()];

    // convert ArrayList into an array
    languages.toArray(arr);
    System.out.print("Array: ");

    // access elements of the array
    for (String item : arr) {
      System.out.print(item + ", ");
    }
  }
}

输出

ArrayList: [Java, Python, C++]
Array: Java, Python, C++, 

在上面的例子中,toArray() 方法转换 语言 arraylist 到一个数组并将其存储在 arr .要了解更多信息,请访问 Java ArrayList toArray()。

如何将数组转换为 ArrayList?

我们使用 asList() Arrays 的方法 班级。使用 asList() ,我们必须导入 java.util.Arrays 先打包。例如,

import java.util.ArrayList;
import java.util.Arrays;

class Main {
  public static void main(String[] args) {

    // create an array of String type
    String[] arr = { "Java", "Python", "C++" };
    System.out.print("Array: ");

    // print array
    for (String str : arr) {
      System.out.print(str);
      System.out.print(" ");
    }

    // create an ArrayList from an array
    ArrayList<String> languages = new ArrayList<>(Arrays.asList(arr));
    System.out.println("\nArrayList: " + languages);
  }
}

输出

Array: Java Python C++        
ArrayList: [Java, Python, C++]

在上面的程序中,我们首先创建了一个数组arr String 类型。注意表达式,

Arrays.asList(arr)

这里,asList() 方法将数组转换为数组列表。

如何在一行中创建和初始化 ArrayList?

我们使用 Arrays.asList() 在一行中创建和初始化数组列表的方法。例如,

import java.util.ArrayList;
import java.util.Arrays;

class Main {
  public static void main(String[] args) {

    // create and initialize ArrayList
    ArrayList<String> languages = new ArrayList<>(Arrays.asList("Java", "Python", "C"));
    System.out.println("ArrayList: " + languages);

  }
}

// Output: ArrayList: [Java, Python, C]
如何将 ArrayList 转换为字符串?

我们使用 toString() ArrayList 的方法 类将数组列表转换为字符串。例如,

import java.util.ArrayList;

class Main {
  public static void main(String[] args) {
    ArrayList<String> languages = new ArrayList<>();

    // add elements in the ArrayList
    languages.add("Java");
    languages.add("Python");
    languages.add("Kotlin");
    System.out.println("ArrayList: " + languages);

    // convert ArrayList into a String
    String str = languages.toString();
    System.out.println("String: " + str);
  }
}

输出

ArrayList: [Java, Python, Kotlin]
String: [Java, Python, Kotlin]

在这里,toString() 方法将整个数组列表转换为单个字符串。要了解更多信息,请访问 Java ArrayList toString()。

如何使用 List 接口创建数组列表?

我们还可以使用 List 接口创建一个数组列表。这是因为 ArrayList 类实现了 List 接口。我们来看一个例子,

import java.util.ArrayList;
import java.util.List;

class Main {
  public static void main(String[] args) {

    // create arraylist using List
    List<String> languages = new ArrayList<>();
    languages.add("Java");
    languages.add("Python");
    languages.add("C");

    System.out.println("ArrayList: " + languages);
  }
}

// Output: ArrayList: [Java, Python, C]

java

  1. Java final 关键字
  2. Java instanceof 运算符
  3. Java 继承
  4. Java 嵌套静态类
  5. Java 匿名类
  6. Java 单例类
  7. Java 反射
  8. Java 向量
  9. Java 算法
  10. Java ObjectOutputStream 类
  11. Java 泛型
  12. Java 文件类