zhoulina1994 2014-10-06 10:57 采纳率: 0%
浏览 972

用Java语言表示数据结构中的线性表

以线性表表示集合,判断指定元素是否属于集合,实现并、交、差等集合运算(要求:用Java语言实现)

  • 写回答

1条回答

  • qq_36273221 2023-05-10 15:11
    关注

    在Java中,我们可以用ArrayList或者HashSet这样的数据结构来表示线性表。在这个例子中,我们将使用ArrayList。以下是满足你要求的Java类:

    
    ```java
    import java.util.ArrayList;
    import java.util.Collections;
    
    public class Set {
        private ArrayList<Integer> elements;
    
        public Set() {
            elements = new ArrayList<>();
        }
    
        // 添加元素
        public void add(int x) {
            if (!elements.contains(x)) {
                elements.add(x);
            }
        }
    
        // 判断元素是否属于集合
        public boolean belongs(int x) {
            return elements.contains(x);
        }
    
        // 并集运算
        public Set union(Set other) {
            Set result = new Set();
            for (int i : this.elements) {
                result.add(i);
            }
            for (int i : other.elements) {
                result.add(i);
            }
            return result;
        }
    
        // 交集运算
        public Set intersection(Set other) {
            Set result = new Set();
            for (int i : this.elements) {
                if (other.belongs(i)) {
                    result.add(i);
                }
            }
            return result;
        }
    
        // 差集运算
        public Set difference(Set other) {
            Set result = new Set();
            for (int i : this.elements) {
                if (!other.belongs(i)) {
                    result.add(i);
                }
            }
            return result;
        }
    
        // 输出集合元素
        public void display() {
            for (int i : elements) {
                System.out.print(i + " ");
            }
            System.out.println();
        }
    }
    这个Set类表示一个整数集合,实现了添加元素、判断元素是否属于集合、并集、交集、差集等操作。你可以根据需要进行扩展。
    
    

    ```

    评论

报告相同问题?

悬赏问题

  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题