📜  arraylist 中的随机项 - Java (1)

📅  最后修改于: 2023-12-03 15:13:29.917000             🧑  作者: Mango

ArrayList中的随机项 - Java

在Java开发中,ArrayList是一个非常常用的数据结构,它允许我们动态地添加和删除元素,并且可以访问任意位置的元素。 在本篇文章中,我们将讨论如何在ArrayList中获取随机项。

方法1 - 使用Random类

Java中的Random类提供了随机数生成器,可以用来获取随机项。我们只需要生成一个从0到ArrayList大小之间的随机数,然后使用该随机数作为ArrayList中的索引来获取对应的元素。

以下是使用Random类获取ArrayList中的随机项的代码示例:

import java.util.ArrayList;
import java.util.Random;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> myList = new ArrayList<>();
        myList.add("item1");
        myList.add("item2");
        myList.add("item3");

        Random rand = new Random();
        String randomItem = myList.get(rand.nextInt(myList.size()));
        System.out.println("Random item: " + randomItem);
    }
}

输出:

Random item: item2
方法2 - 使用ThreadLocalRandom类

Java 7中引入了ThreadLocalRandom类,它是一个线程本地的随机数生成器,提供了更好的性能和更高的并发性。

以下是使用ThreadLocalRandom类获取ArrayList中的随机项的代码示例:

import java.util.ArrayList;
import java.util.concurrent.ThreadLocalRandom;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> myList = new ArrayList<>();
        myList.add("item1");
        myList.add("item2");
        myList.add("item3");

        String randomItem = myList.get(ThreadLocalRandom.current().nextInt(myList.size()));
        System.out.println("Random item: " + randomItem);
    }
}

输出:

Random item: item3

从上面的示例中,我们可以看到,使用ThreadLocalRandom类获取随机项的代码比使用Random类更简洁。

总结

在本篇文章中,我们介绍了两种获取ArrayList中随机项的方法:使用Random类和ThreadLocalRandom类。无论你使用哪种方法,都需要注意传入的随机数范围必须是从0到ArrayList大小之间的整数。通过这些方法,我们可以轻松地随机获取ArrayList中的元素,希望这篇文章对你有所帮助。