在 Java 中初始化字符串列表

  1. 在 Java 中使用 ArrayListLinkedListVector 实例化字符串列表
  2. 在 Java 中使用 Arrays.asList 实例化字符串列表
  3. 在 Java 8 中使用 Stream 实例化字符串列表
  4. 在 Java 中使用 List.of 实例化字符串列表

在本教程中,我们将看到在 Java 中初始化字符串列表的各种方法。由于列表是一个接口,我们不能直接将其实例化,我们可以使用 ArrayList,LinkedListVector 来实例化一个列表。

在 Java 中使用 ArrayListLinkedListVector 实例化字符串列表

List 是 Java 中 Collections 的一个子接口。它是一个对象的有序集合,可以存储重复的值。List 的实例可以使用实现 List 接口的类来创建。

ArrayListVectorLinkedListStack 是其中的几个类。我们使用 new ArraList<String>() 创建一个 List 的实例 myList。因此,我们可以使用下面所示的任何一种方式声明和创建一个 List 的实例,并对该 List 进行各种操作。

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Vector;

public class ListExample {
    public static void main (String [] args ){
        List<String> myList = new ArrayList<String>();
        List<Fruits> lList = new LinkedList<Fruits>();
        List<Integer> vList = new Vector<Integer>();

        myList.add("Happy");
        myList.add("Coding");

        lList.add(new Fruits("Grapes", "Green"));
        lList.add(new Fruits("Apple","Red"));

        vList.add(1);
        vList.add(4);
        vList.add(9);
        vList.add(7);

        vList.remove(2);
        for (String s :myList) {
            System.out.println(s);
        }

        for(Fruits f : lList ){
            System.out.println(f.name + " is " +f.color + " in color.");
        }

        for (int i : vList){
            System.out.println(i);
        }

    }

}
class Fruits {
    String name;
    String color;
    Fruits(String name , String color){
        this.name = name;
        this.color = color;
    }
}

输出:

Happy
Coding
Grapes is Green in color.
Apple is Red in color.
1
4
7

在 Java 中使用 Arrays.asList 实例化字符串列表

Arrays.asList 方法返回一个由数组支持的固定大小的列表。这只是一个包装器,使数组作为一个列表可用。我们不能修改这个列表,因为它是不可改变的。

在这里的代码中,我们得到一个名为 myListList 实例,它的长度不能被修改。

import java.util.Arrays;
import java.util.List;

public class ListExmp {
    public static void main(String[] args) {
        List<String> myList = Arrays.asList("John","Ben","Gregor","Peter");
        String name = myList.get(3);
        System.out.println(name);
    }
}

输出:

Peter

在 Java 8 中使用 Stream 实例化字符串列表

Java 8 Stream 包含了围绕数据源的包装器,使得对数据的笨重处理变得简单方便。

Stream.of() 方法构造一个数据流,并将它们收集在一个列表中。Collector 接口提供了这个操作的逻辑。Collector.toList() 将所有的流元素收集到一个 List 的实例中。

import java.util.List;
import java.util.stream.Stream;
import java.util.stream.Collectors;

public class ListExmp {
    public static void main(String[] args) {
        List<String> list = Stream.of("john", "doe").collect(Collectors.toList());
        if(list.contains("doe")){
            System.out.println("doe is there");
        }else{
            System.out.println("doe is not there");
        }
    }
}

输出:

doe is there

在 Java 中使用 List.of 实例化字符串列表

List.of 是 Java 9 中引入的新方法,在下面的代码中,List.of() 方法接受任意数量的参数并返回一个不可更改的列表。我们有 immutableList 作为 List 的一个不可修改的实例。

我们必须用一个不可变的列表作为参数实例化 ArrayList 来创建一个可修改的列表。如下面的代码所示,可以对 ListmutableList 实例进行修改。

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

public class ListExmp {
    public static void main(String[] args) {
       List<String> immutableList = List.of("One","Two","Three","Four","Five");
        List<String> mutableList = new ArrayList<>(List.of("Six", "Seven", "Eight"));
        for(String l:immutableList) {  
            System.out.println(l);  
        } 
        System.out.println("XXXXXX");  
        mutableList.add("Nine");
        for(String l:mutableList) {  
            System.out.println(l);  
        } 
    }
}

输出:

One
Two
Three
Four
Five
XXXXXX
Six
Seven
Eight
Nine

相关文章 - Java List

  • 如何在 Java 中把一个数组转换为一个列表
  • 如何在 Java 中连接两个列表
  • 相关文章 - java Arraylist

  • 如何在 Java 中把整数列表转换为整数数组
  • 如何在 Java 中连接两个列表