Tôi muốn có các hoạt động công đoàn, giao nhau, khác biệt và đảo ngược trong Java.Làm cách nào để thực hiện công đoàn, giao cắt, sự khác biệt và dữ liệu ngược trong java
Trước tiên tôi có 2 trường hợp của ArrayList<Integer>
a = [0,2,4,5,6,8,10]
b = [5,6,7,8,9,10]
một liên minh b nên trở c = [0,2,3,4,5,6,7,8,9,10]
một giao nhau b nên trở c = [5,8,10]
một defference b nên trở c = [0,2,3,4]
ngược a = [10,8,6,5,4,2,0]
Một cái gì đó như thế này.
Cách triển khai phương thức đó trong Java?
Cập nhật: Tôi phải bắt đầu với mẫu này:
package IntSet;
import java.util.ArrayList;
import java.util.Collection;
public class IntSet {
private ArrayList<Integer> intset;
public IntSet(){
intset = new ArrayList<Integer>();
}
public void insert(int x){
intset.add(x);
}
public void remove(int x){
//implement here
intset.indexOf(x);
}
public boolean member(int x){
//implement here
return true;
}
public IntSet intersect(IntSet a){
//implement here
return a;
}
public IntSet union(IntSet a){
//implement here
return a;
}
public IntSet difference(IntSet a){
//implement here
IntSet b = new IntSet();
return b;
}
Một lần nữa, bạn đang nói về các hàm đặt, nhưng bạn sử dụng danh sách. Vì vậy, chức năng chèn của bạn đã sai: Bạn không thử nghiệm cho các bản sao. – Landei