Java 将自定义类放入Android哈希中

Java 将自定义类放入Android哈希中,java,android,Java,Android,如何将自定义类变量的所有内容存储到android哈希中使用hashSet或TreeSet更好的方法是什么,以及如何实现 A类: public Album(String album, String artist, String editora, int ano, int evaluation) { this.album = album; this.artist = artist; this.ano = ano; this.evaluation = evaluatio

如何将自定义类变量的所有内容存储到android哈希中使用
hashSet
TreeSet
更好的方法是什么,以及如何实现

A类:

public Album(String album, String artist, String editora, int ano, int evaluation) {
    this.album = album;
    this.artist = artist;
    this.ano = ano;
    this.evaluation = evaluation;
    this.editora = editora;
}

public List<Album> mAlbumList = new ArrayList<>();
公共相册(字符串相册、字符串艺术家、字符串编辑器、int-ano、int-evaluation){
this.album=相册;
这个艺术家=艺术家;
this.ano=ano;
这个评价=评价;
this.editora=editora;
}
public List mAlbumList=new ArrayList();
我需要将mAlbumList的全部内容存储到哈希中,然后在应用程序停止时(例如屏幕旋转时)恢复

  • 实现hashCode和equals函数,在androidstudio中可以自动生成
  • HashSet和TreeSet都很好,这取决于您将如何使用它,这就是胜负时间/空间的所在

  • 你好我需要将mAlbumList的全部内容存储到哈希中,然后在应用程序停止时恢复(基本上是屏幕滚动)@Ivandunits可能更好地使用SQLite数据库持久存储该数据,而不是在内存中实现自定义类/对象中的可包接口,并重写活动中的onSaveInstanceState方法,并放置类似(记不清)outstate.putParcelableArraylist(yourlist,“string_key”);并在onCreate中检索-对于小列表很有用,但是如果你的列表很大,就不太实际了-你会达到系统对可包裹对象的限制。请参考你的项目没有意义-当通过Android活动生命周期方法持久化数据时,使用树集或哈希集是不相关的,尤其是当你已经声明了一个Arraylist来保存你的对象时?移除ArrayList,使用哈希集保存对象,您可以随时在onPause()上或之后将该集放入SharedReferences-putStringSet(),并在onCreate()或onResume()中检索;