用数据结构(Java版)中的线性表的使用与操作编写代码: 实现SegList<T>顺序表类增加以下的成员方法,public权限。 void removeAlI(T key) //查找并删除所有与key相等的元素值
时间: 2024-11-20 08:55:17 浏览: 7
在Java中,我们可以使用ArrayList作为线性表来实现`SegList<T>`,因为它支持动态增删元素。首先,我们需要导入必要的包,并创建一个ArrayList实例。然后,我们可以实现`removeAll(T key)`方法来完成查找并删除所有等于给定键的元素。以下是完整的代码实现:
```java
import java.util.ArrayList;
public class SegList<T> {
private ArrayList<T> list;
public SegList() {
this.list = new ArrayList<>();
}
// 公共方法:添加元素到列表
public void add(T element) {
list.add(element);
}
// 公共方法:查找并删除所有与key相等的元素
public void removeAll(T key) {
list.removeIf(item -> item.equals(key));
}
// 示例:展示如何使用
public static void main(String[] args) {
SegList<Integer> segList = new SegList<>();
segList.add(10);
segList.add(20);
segList.add(10);
segList.add(30);
System.out.println("Before removeAll: " + segList.list); // [10, 20, 10, 30]
segList.removeAll(10);
System.out.println("After removeAll: " + segList.list); // [20, 30]
}
}
```
在这个例子中,我们创建了一个`SegList`实例,添加了一些整数,然后调用`removeAll(10)`来删除所有值为10的元素。运行程序后,可以看到列表已更新为只包含20和30。
阅读全文