我编写了一个函数remove(int x)
,它从集合中删除x的副本,如果删除了x的副本,则返回true。
//boolean remove method
public boolean remove(int value) {
for (int i = 0; i < size; i++) {
if (values[i] == value) {
--size;
for (; i < size; ++i) {
values[i] = values[i + 1];
}
return true;
}
}
return false;
}
如何在主类中调用boolean remove方法?
答案 0 :(得分:0)
public boolean remove(int value) {
Boolean bool = false;
for (int i = 0; i < values.length; i++) {
if (values[i] == value) {
values[i] = -1;
if (values[i] == -1)
bool = true;
}
}
return bool;
}
设-1表示已删除的值,您可以将其更改为任何其他值。 如果这有帮助,请告诉我。
更新: 如果此方法与您的main文件位于同一文件中,则只需进行以下操作:
remove(YOUR_INT_VALUE);
或者,如果此方法位于不同的类中,则创建该类的实例:
CLASSNAME something = new CLASSNAME();
CLASSNAME是删除方法所在的文件名(没有添加.java) 某些东西只是该实例的引用名称,因此您可以将其命名为任何名称(例如,remover,r,noScope)) 然后你可以这样打电话:
something.remove(YOUR_INT_VALUE);
答案 1 :(得分:0)
这是一种从Collection(不是数组)中删除元素的方法:
import java.util.ArrayList;
import java.util.Collection;
public class Snippet {
// collection example to start with
private static Collection<Integer> col =
new ArrayList<Integer>() {{ add(1); add(2); add(3); }};
public static boolean remove(int value) {
for (Integer element : col) {
// look for the value in the collection
if (element == value) {
// remove if exists
col.remove(element);
return true;
}
}
return false;
}
public static void main(String[] args) {
// testing ...
System.out.println("starting with collection : " + col);
System.out.println("removing 1 returns " + col.remove(1) + ". collection is now " + col);
System.out.println("removing 6 returns " + col.remove(1) + ". collection is now " + col);
}
}