java怎么排列数组_如何在java中对多个ArrayLists进行排序

我正在开发一个保存餐馆信息的应用程序,每个餐馆有5个信息“如下面的代码所列”,我需要根据费率对餐馆进行排序.但是,按照速率排序后,我需要将所有数组列表同步,以便它们的信息正确匹配.

我有5个ArrayLists,我需要对其中一个进行排序,但我还想更改其他4个ArrayLists的索引,以便它们可以相互适应.我尝试了地图列表,但它告诉我,我只能使用2个参数而不是5个参数.

这是我的ArrayLists:

//******* Arrays that holds information of restaurants taken from SERVER

static public ArrayList name = new ArrayList();

static public ArrayList lng = new ArrayList();

static public ArrayList lat = new ArrayList();

static public ArrayList address = new ArrayList();

static public ArrayList rate = new ArrayList();

static public ArrayList comment = new ArrayList();

//private Map sorted = new HashMap<>(); Doesn't work with 5 parameters

我需要对速率列表进行排序,还要更改其他列表的索引.

解决方法:

您可以创建一个包含各种字符串属性的objet餐厅.

这样,您就可以只有一个列表并对其进行调用排序,以便一次对所有信息进行排序.

您必须在此Restaurant类中实现Comparable,以定义您的餐厅应如何分类.

编辑:

您的餐厅课程将如下所示:

public class Restaurant implements Comparable{

private String name;

private String lng;

private String lat;

private String address;

private String rate;

private String comment;

...

constructor/getters/setters

...

@Override

public int compareTo(Restaurant rest) {

//TODO: check if rate is null if this can happen in your code

return rate.compareTo(rest.rate); //comparing on rate attribute

}

}

然后你可以用你的代码替换

static public ArrayList restaurants = new ArrayList();

Collections.sort(restaurants);

标签:java,android,sorting,arraylist

来源: https://codeday.me/bug/20190623/1273556.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值