6.10 获取数据存到自定义分类对象中
1.提供品牌机型数据:
1.首先需要dao接口获取到数据库所有的手机模型数据,继而判断数据库的数据是否为空,为空的话就直接返回null。
2.需要创建一个空的对象,空对象是自己定义的存放的数据有两个成员变量,一个是品牌成员变量,一个是该品牌的所有对象存进行来的list集合ArrayList有序,不重复,动态。
3.for循环遍历1中数据库中所有的机型的数据。
4.引用名的方式创建一个2对象中泛型一样的对象且等于null。
5.for循环遍历2对象,即自己创建的根据品牌分类的对象。
if?【因为第一次循环不会走这步所以加?问好】,判断3遍历的对象中的品牌成员变量是否等于4遍历的对象的品牌成员变量。
6.if判断4对象是否为空为空的话就等于new一个这个对象,即分配了内存空间的对象有地址值
提取出外循环遍历的对象即单个手机模型对象,提取出品牌设置进4对象中,
继而设置第二个成员变量,new一个空的ArrayList有序不重复的集合对象进去,
!!!接着把这个设置了数据的4对象add添加到2对象中,【!!!后期不走这一步但是因为2对象因为已经添加了4对象,后期添加数据到4对象即代表把添加了数据的4对象也覆盖性的添加到2对象中】
7. 4对象中add动态添加3遍历的到的对象,这里用到了工具【工具作用:前提是对象中的成员变量和目标的成员变量必须是一致的,有数据的对象中的数据赋值给目标对象中的成员变量,目标对象通过反射获取】
总结:因为第一次遍历所以嵌套循环中没有数据,需要在外循环中设置数据进去且注意这里有一步add数据到大的自定义的对象中,
第一次遍历对象就是说让小分类(根据品牌分类)【设置品牌进去---设置有序不重复动态集合进去】,
第二次遍历得到的对象因为在大分类(自定义)中已经有了,所以嵌套循环的if判断是有效的,即外循环对象的变量名等于内循环的变量名,继而将遍历的小分类对象设置到4对象中,且break即跳出当前的for循环
外循环里面的if判断即4对象不为null,所以不会走到这步里面即表示大分类对象中有品牌有容器,除非有不同的品牌即而在创建一个小品牌分类。
第三次遍历:假设第三次遍历数据存到了新的品牌数据,于是会走到for外的if即创建一个带有品牌+容器的对象。for嵌套循环遍历里面的if判断遍历第一次因为是苹果品牌已经存完了数据,故而不为null,即进行第二次遍历