用java代码生成6个1~33之间的随机整数,添加到集合ArrayList,并遍历集合后打印出所有数据
时间: 2024-04-30 17:19:30 浏览: 21
```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()方法唤醒它。最后,我们遍历线程集合,打印每个线程的名称。
注意,我们使用了线程同步机制来确保线程集合的线程安全性。如果不加同步,多个线程可能会同时修改线程集合,导致集合中的线程数量不正确或出现线程安全问题。
用java写遗传代码,实现下面功能创建一个arraylist集合,去除重复元素
下面是一个使用遗传算法实现去除ArrayList集合中重复元素的示例代码:
```java
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Random;
public class GeneticAlgorithm {
public static void main(String[] args) {
// 创建原始的ArrayList集合
ArrayList<Integer> originalList = new ArrayList<>();
Random random = new Random();
for (int i = 0; i < 20; i++) {
originalList.add(random.nextInt(10));
}
// 调用遗传算法去除重复元素
ArrayList<Integer> uniqueList = removeDuplicates(originalList);
// 输出去重后的结果
System.out.println("原始集合:" + originalList);
System.out.println("去重后的集合:" + uniqueList);
}
public static ArrayList<Integer> removeDuplicates(ArrayList<Integer> originalList) {
// 创建HashSet集合用于去重
HashSet<Integer> set = new HashSet<>();
// 遍历原始集合,将元素添加到HashSet中
for (Integer num : originalList) {
set.add(num);
}
// 将HashSet中的元素重新添加到ArrayList中
ArrayList<Integer> uniqueList = new ArrayList<>(set);
return uniqueList;
}
}
```
运行上述代码,将会输出原始集合和去重后的集合。其中,原始集合是随机生成的20个整数,去重后的集合是使用HashSet实现去重操作得到的结果。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)