排序字符串数组

时间:2012-08-30 09:19:17

标签: java sorting

我正在开发一个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实现相同的功能但不确定如何操作。

我请你给我一个逻辑来实现这个任务或任何示例代码。

4 个答案:

答案 0 :(得分:2)

我建议您检查一下您的数据结构。我的意思是,将数据拆分为单独的数组并不是一个好主意。所有相关数据都应包含在一个对象中。

请检查此问题:How to sort multiple arrays in java

答案 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...
}