创建类的1000个实例的有效方法



作为Kotlin的新手,我想问一个问题。假设我有一个类Dog,如下所示,

data class Dog(val breed : String, val gender : String, val name : String, val age: Int){}

我想让这个狗类的1000个实例,并在arrayList中添加所有的实例,然后我将在不同的活动中使用这个列表。想象一下,我有一个只展示拉布拉多犬的活动。因此,我必须获取包含我所有狗的arrayList,并根据Labrador筛选品种并显示给用户。

正如我在文章中所读到的,我认为这是一种昂贵的方式,但我不知道有效的方式是什么。因为我会像下面这样手动创建所有实例。

fun dogMaker(){
val dog1 = Dog("example","example","example",1)
val dog2 = Dog("example","example","example",1)
val dog3 = Dog("example","example","example",1)
val dog4 = Dog("example","example","example",1)
val dog5 = Dog("example","example","example",1)
//... goes on...
}

你能给我建议一个有效的方法吗?提前谢谢。

作为初学者,甚至不用担心如何优化它。只要使用FOR循环或手动初始化数组就可以了。如果您想在不同的Activities中访问它,只需在您的一个类之外声明ArrayList,使其成为全局变量。在您的例子中,这意味着声明它在MainActivity之上。

更好但更复杂的方法是将所有这些项存储在预填充的数据库中。这样,您就不会在每次应用程序运行时创建一个ArrayList,您就不会不必要地占用内存,并且您只在任何给定时间访问您需要的内容。

最新更新