帮我用java封装一个MapList,MapList存储有序且不使用键值对存储,采用类似数组的方式存储,且要包含正序倒序两种排序方式
时间: 2024-05-03 07:22:50 浏览: 92
以下是一个示例代码,实现了一个MapList类,可以存储有序且不使用键值对存储的数据,并支持正序和倒序两种排序方式:
```java
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
public class MapList<T> {
private List<T> list;
public MapList() {
list = new ArrayList<>();
}
public void add(T value) {
list.add(value);
}
public T get(int index) {
if (index < 0 || index >= list.size()) {
throw new IndexOutOfBoundsException();
}
return list.get(index);
}
public int size() {
return list.size();
}
public void sort() {
list.sort(null);
}
public void sort(Comparator<T> comparator) {
list.sort(comparator);
}
public MapList<T> reversed() {
MapList<T> reversedMapList = new MapList<>();
for (int i = list.size() - 1; i >= 0; i--) {
reversedMapList.add(list.get(i));
}
return reversedMapList;
}
}
```
使用示例:
```java
MapList<Integer> mapList = new MapList<>();
mapList.add(3);
mapList.add(1);
mapList.add(2);
// 正序排序
mapList.sort();
System.out.println(mapList.get(0)); // 1
// 倒序排序
MapList<Integer> reversedMapList = mapList.reversed();
System.out.println(reversedMapList.get(0)); // 3
```
阅读全文