- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我设计了使用 ArrayList 的新 IntSet 类。首先,我通过 ArrayList 扩展 Intset 并开始实现方法。我在 union() 方法中遇到了一些问题。这是我的代码...
public class IntSet extends ArrayList<Integer>{
private static final long serialVersionUID = 1L;
private ArrayList<Integer> intset;
public IntSet(){
this.intset = new ArrayList<Integer>();
}
public IntSet(ArrayList<Integer> intset){
this.intset = intset;
}
public void insert(int x){
this.intset.add(x);
}
@Override
public Integer remove(int x){
int index = intset.indexOf(x);
this.intset.remove(index);
return 1;
}
@Override
public int size(){
return this.intset.size();
}
@Override
public Integer get(int index){
return this.intset.get(index);
}
public boolean member(int x){
if(intset.indexOf(x)==-1) return false;
else return true;
}
public IntSet union(IntSet a){
IntSet intersectSet = new IntSet();
intersectSet.insert(0);
intersectSet.insert(1);
System.out.println(intersectSet.size());
System.out.println(intersectSet.contains(1));
for(int i=0; i<a.size(); i++){
}
return intersectSet;
}
public String toString(){
if(intset.size()==0) return "[]";
String s = "[" + intset.get(0).toString();
for(int i=1; i<intset.size(); i++){
s += "," + intset.get(i).toString();
}
return s += "]";
}
}
在方法中
union(IntSet a);
我构建了新的 Intset 对象,然后将 2 个值 (0, 1) 添加到 intersectSet 变量中。
intersectSet.insert(0);
intersectSet.insert(1);
然后我打印 intersectSet 的大小,它告诉我 2 是正确的!
但是当我需要检查 intersectSet 中是否有 1 时?它显示我是错误的。
System.out.println(intersectSet.contains(1));
事实上,它应该告诉我是真的,因为在 intersectSet 中有整数 1。
我的代码有什么问题吗?我应该为 IntSet 类扩展 ArrayList 吗?
最佳答案
关于类设计的一些建议:
关于java - 我的 Intset 类有什么问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3594294/
对我来说,整数集似乎是一种可折叠的数据结构。 为什么是 Data.IntSet不是 Foldable 的实例? 我的实际意图是使用 find在 IntSet . 如何实现 Data.IntSet 的查
感谢 newtype 和 GeneralizedNewtypeDeriving 扩展,人们可以轻松定义不同的轻量级类型: newtype PersonId = PersonId Int derivin
我设计了使用 ArrayList 的新 IntSet 类。首先,我通过 ArrayList 扩展 Intset 并开始实现方法。我在 union() 方法中遇到了一些问题。这是我的代码... publ
来 self 的问题 Insert element to ArrayList with ascending order and no duplicate elements 我已经完成了插入方法。 现在
根据 Redis's memory optimization page可以设置可配置的 set-max-intset-entries 以优化大型整数集的内存。我用小于 2M 的整数做了一些测试,将 s
我是一名优秀的程序员,十分优秀!