编写一个泛型类 Bubble<T>,要求该类中包含一个 ArrayList 集合对象,并实现对该集 合内数据的排序;
时间: 2024-03-26 07:35:06 浏览: 188
好的,我可以为您解答这个问题。
以下是 Bubble<T> 泛型类的实现:
```java
import java.util.ArrayList;
public class Bubble<T extends Comparable<T>> {
private ArrayList<T> list;
public Bubble(ArrayList<T> list) {
this.list = list;
}
public ArrayList<T> sort() {
int n = list.size();
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (list.get(j).compareTo(list.get(j + 1)) > 0) {
T temp = list.get(j);
list.set(j, list.get(j + 1));
list.set(j + 1, temp);
}
}
}
return list;
}
}
```
上述代码中,Bubble<T> 类实现了一个泛型类,其中 T extends Comparable<T> 表示 T 类型必须实现 Comparable 接口,以便进行比较排序。该类包含一个 ArrayList 集合对象,可以通过构造函数将一个 ArrayList 对象传递给该类。sort() 方法实现了对集合内数据的冒泡排序,并返回已排序的 ArrayList 对象。
以下是一个使用 Bubble<T> 泛型类的示例:
```java
import java.util.ArrayList;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>(Arrays.asList(5, 3, 8, 1, 2));
Bubble<Integer> bubble = new Bubble<>(list);
ArrayList<Integer> sortedList = bubble.sort();
System.out.println(sortedList);
}
}
```
输出结果为:[1, 2, 3, 5, 8]。
在上述示例中,我们创建了一个包含整数的 ArrayList 对象,并将其传递给 Bubble<Integer> 泛型类的构造函数。然后,我们调用 sort() 方法来对集合内的数据进行排序,并将排序后的 ArrayList 对象打印出来。
阅读全文