假设我像这样创建一些对象类
public class thing {
private String name;
private Integer num;
public oDetails (String a, Integer b) {
name = a;
num = b;
}
...gets/ sets/ etc
Run Code Online (Sandbox Code Playgroud)
现在我想创建一个arraylist来保存这样的对象类.
ArrayList<thing> myList = new ArrayList<thing>;
thing first = new thing("Star Wars", 3);
thing second = new thing("Star Wars", 1);
myList.add(first);
myList.add(second);
Run Code Online (Sandbox Code Playgroud)
我想包含某种逻辑,以便在这种情况下......当我们尝试添加对象"second"而不是向arrayList添加新对象时,我们将second.getNum()添加到first.getNum().因此,如果您要遍历ArrayList,那么它就是
"Star Wars", 4
Run Code Online (Sandbox Code Playgroud)
我无法想出一个处理这个问题的优雅方法.随着arraylist的增长,搜索它以确定是否存在重复的名称项变得麻烦.任何人都可以提供一些指导吗?
请注意以下内容......
//pattern 1
public class Cheesesteak
{
public string bread {get; private set}
public string cheese {get; private set}
public Cheesesteak()
{
bread = "Amoroso";
cheese = "Cheez Whiz";
}
}
//pattern 2
public class Cheesesteak
{
public string bread
{
get {return bread;}
set
{
bread = "Amoroso";
}
}
public string cheese
{
get {return cheese;}
set
{
cheese = "Cheez Whiz";
}
}
public Cheesesteak() {}
}
Run Code Online (Sandbox Code Playgroud)
这是一个好奇心的问题.是否有任何优势或特殊原因可以在"set"的定义中设置变量而不是在构造函数中声明它们?我最初的猜测是模式1更短,但在编译期间效率较低.
此代码用于打印1到30之间的非素数.它是如何工作的以及错误在哪里.
BEGIN
<<outer>>
FOR i in 1..30
<<inner>>
for k in 2..i-1 loop
if (mod(i, k) = 0) THEN
DBMS_OUTPUT.PUT_LINE(i);
exit inner when (mod(i, k)= 0);
end if;
end loop inner
end loop outer
end;
Run Code Online (Sandbox Code Playgroud)