用java代码生成6个1~33之间的随机整数,添加到集合ArrayList,并遍历集合后打印出所有数据
时间: 2024-04-30 15:19:30 浏览: 105
```java
import java.util.ArrayList;
import java.util.Random;
public class RandomArrayList {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
Random random = new Random();
for (int i = 0; i < 6; i++) {
int num = random.nextInt(33) + 1;
list.add(num);
}
for (int i : list) {
System.out.print(i + " ");
}
}
}
```
输出结果类似:`9 27 16 22 11 7`。
相关问题
1.得到一个随机的整数n,创建n个子线程对象; 2.要求在子线程中把当前线程的名称作为元素添加一个集合中; java 3.当n个线程的名称都添加到集合中,遍历集合打印每个线程的名称;
以下是Java代码实现:
```java
import java.util.ArrayList;
import java.util.List;
public class ThreadDemo {
public static void main(String[] args) {
int n = (int)(Math.random() * 10) + 1; // 生成1~10的随机整数
List<Thread> threads = new ArrayList<>();
// 创建n个子线程对象并添加到集合中
for (int i = 0; i < n; i++) {
Thread thread = new Thread(() -> {
String threadName = Thread.currentThread().getName();
synchronized (threads) {
threads.add(Thread.currentThread());
System.out.println(threadName + " added to collection.");
threads.notifyAll();
}
});
thread.start();
}
// 等待所有线程的名称都添加到集合中
synchronized (threads) {
while (threads.size() < n) {
try {
threads.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
// 遍历集合打印每个线程的名称
System.out.println("All thread names:");
for (Thread thread : threads) {
System.out.println(thread.getName());
}
}
}
```
在上述代码中,我们首先生成了一个1~10的随机整数n,并创建了一个空的线程集合threads。然后,我们循环n次,每次创建一个新的子线程对象,并将其启动。在子线程中,我们获取当前线程的名称,并使用synchronized关键字将其添加到线程集合中。在添加完毕后,我们通知所有等待线程。
接下来,我们使用synchronized关键字等待所有线程的名称都添加到集合中。在等待期间,我们使用wait()方法使当前线程进入等待状态,直到其他线程调用notifyAll()方法唤醒它。最后,我们遍历线程集合,打印每个线程的名称。
注意,我们使用了线程同步机制来确保线程集合的线程安全性。如果不加同步,多个线程可能会同时修改线程集合,导致集合中的线程数量不正确或出现线程安全问题。
1.在1-100之间产生20个随机数,用数组进行存放,并把数组中大于15的数字放到一个ArrayList集合中,最后使用Iterator迭代器遍历ArrayList集合中的元素。jave代码
在Java中,你可以使用`Random`类生成随机数,创建数组,然后通过遍历和筛选将满足条件的元素放入`ArrayList`。以下是相关的代码示例:
```java
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.Random;
public class Main {
public static void main(String[] args) {
// 创建一个数组并填充随机数
int[] numbers = new int[20];
Random random = new Random();
for (int i = 0; i < numbers.length; i++) {
numbers[i] = random.nextInt(100); // 随机生成1到100之间的整数
}
// 将大于15的数放入ArrayList
List<Integer> list = new ArrayList<>();
for (int num : numbers) {
if (num > 15) {
list.add(num);
}
}
// 使用Iterator遍历ArrayList
Iterator<Integer> iterator = list.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
}
}
```
阅读全文