java - 从多个类访问和修改一个类中的ArrayList/TreeSet
问题描述
我是 java 新手,我正在尝试访问与其他类不同的类中的 ArrayList 和 TreeSet。我知道从一个班级访问它的这种方式。
如果我有我的 TreeSet,这就是类:
public class Gestor {
private TreeSet<User> gestorTSusers;
public Gestor (){
this.gestorTSusers = new TreeSet<>();
}
public TreeSet<User> getGestorTSusers() {
return gestorTSusers;
}
public void setGestorTSusers(TreeSet<User> gestorTSusers) {
this.gestorTSusers = gestorTSusers;
}
}
现在我知道我需要这样的东西才能在另一个类上访问我的 TreeSet:
public class MainActivity extends AppCompatActivity {
private TextView tv1,tv2,tv3;
private ArrayList<Obj> ts;
private Gestor gestor;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViews();
gestor = new Gestor();
gestor.getGestorTSusers()...
}
private void findViews() {
this.tv1 = findViewById(R.id.tv1);
this.tv2 = findViewById(R.id.tv2);
this.tv3 = findViewById(R.id.tv3);
}
}
在这里,我正在创建一个新的 Gestor 以访问TreeSet
内部,但现在我想访问与我在这里工作但在不同班级相同的确切信息。 TreeSet
如果我只是喜欢
private Gestor gestor;
this.gestor.get....
我和我一起工作TreeSet
吗?上下文会以某种方式有用吗?做这样的事情最好和最有效的方法是什么?
很抱歉,我知道这看起来很糟糕,但这是我第一次提出要求,所以给我一个机会。
解决方案
如果我正确理解了您的问题,您只需要一个 Gestor 实例,并在多个类中使用它。当您使 Gestor 成为单例时,您将拥有与 Gestor 绑定的相同 TreeSet<...> 实例。尝试在这里理解单例设计模式的含义,https://www.oodesign.com/singleton-pattern.html。
推荐阅读
- javascript - 在新标签角 4 中打开 PDF 文件?
- c# - 无法通过 TCP 正确获取文本
- php - 连接到相同的数据库 WordPress 表被添加到
- java - 找到一个点坐标,该点坐标垂直且与线端点有特定距离
- angular - Angular / Typescript Class Getter 属性不起作用
- javascript - 最初使用 display:none 隐藏后无法渲染天空图像
- css - 在画廊中,如何使我的肖像图像更大以填充整个 div 同时保持居中?
- c# - 任何容器的 AC# 通用函数
- ethereum - 如果私钥泄漏,以太坊如何重新加密敏感数据
- python - 为什么我的正则表达式返回''?