我正在开发一个android项目。我有五个String类型的数组,数组中的每个项目与其余数组的相应索引相关。在这里,我需要对单个数组进行排序,如果我排序,所有相应的索引应该按照排序数组中存在的正确顺序进行复制。
源代码:
array1 = new String[qrcodelist.size()];
array2 = new String[name.size()];
array3 = new String[company.size()];
array4 = new String[date.size()];
array5 = new String[imageurl.size()];
for (int i = 0; i < name.size(); i++) {
array1[i] = qrcodelist.get(i);
array2[i] = name.get(i);
array3[i] = company.get(i);
array4[i] = date.get(i);
array5[i] = imageurl.get(i);
}
我认为使用HashMap
实现相同的功能但不确定如何操作。
我请你给我一个逻辑来实现这个任务或任何示例代码。
答案 0 :(得分:2)
我建议您检查一下您的数据结构。我的意思是,将数据拆分为单独的数组并不是一个好主意。所有相关数据都应包含在一个对象中。
答案 1 :(得分:2)
听起来像你正在遭受“拒绝对象”。你的描述不是很清楚,但似乎你需要一个带有“QR码”,“名称”等字段的类。一旦你有了这个,就有一个完整的那个类的实例,而不是5个单独的数组。
现在,您可以使用Comparator
对数组进行排序,以便在其上添加任何顺序。
答案 2 :(得分:0)
根据我的理解,我猜你只想对数组进行排序,下次搜索它。这里有一个很好的例子:Android sort array
搜索类似java sort array的单词,以便更多地了解该主题。
答案 3 :(得分:0)
您应该使用一个对象来存储与每个实体相对应的所有数据,将每个对象放在Collection或Array中,然后对它们进行排序,实现Comparable接口:
public class MyData implements Comparable<MyData> {
private String qrcodelist;
private String name;
private String company;
private String date;
private String imageurl;
//more code...
}