如何按其参数对数组列表进行排序?

莎拉

我有10个项目的数组列表。我想按其参数对这些项目进行排序,但我不确定如何进行排序。

我在数组列表中的项目的签名是:

Creature(String n, Terrain startTerrain, boolean flying, boolean magic, boolean charge, boolean ranged, int combat)

所以从本质上讲,我想对我的数组列表进行排序,以便使魔术为真的生物首先出现,然后是远程的生物首先出现,它们出现在列表中的第二位,然后是其他所有位。

我仅使用冒泡排序,并且不确定如何实现此功能。有什么提示吗?

格特曼

最简单的方法是创建你自己的类,它实现Comparator<Creature>,说CreatureComparator它的compare方法将定义所需的顺序Creature

比较其两个参数的顺序。当第一个参数小于,等于或大于第二个参数时,返回负整数,零或正整数。

然后,您可以致电Collections.sort(yourArrayList, new CreatureComparator());

要一次按多个属性进行排序,请首先测试第一个排序标准。即,如果左侧的magictrue,但右侧的magicfalse,则返回-1,以便所有魔法生物都在所有非魔法生物之前。如果是倒退,请返回1仅当magic字段相同时,您才开始比较第二和第三(以及任何其他)排序标准。因此,如果magic字段相同,则进行ranged下一个测试,依此类推。只有当所有排序条件都相同时,您才返回0(等效)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何按“包含”对数组进行排序?

来自分类Dev

如何根据参数对数组进行排序

来自分类Dev

无法按字母顺序对数组列表进行排序

来自分类Dev

按字母顺序对数组列表进行排序

来自分类Dev

如何按升序对数值的浮动列表进行排序?

来自分类Dev

如何使用javascript按组对数组进行排序?

来自分类Dev

如何从PHP中的Key按升序对数组进行排序?

来自分类Dev

如何按对象的值对数组进行排序

来自分类Dev

如何按枚举值对数组进行排序

来自分类Dev

如何按订单状态对数组进行排序

来自分类Dev

按数组元素对数组进行排序

来自分类Dev

按出现次数对数组进行分组并用Lodash对其进行排序

来自分类Dev

如何对数组进行排序

来自分类Dev

如何根据大小对数字数组列表进行排序?

来自分类Dev

如何在Java中对数组类型列表进行排序?

来自分类Dev

PHP按名称对数组进行排序

来自分类Dev

laravel按日期对数组进行排序

来自分类Dev

按日期对数组元素进行排序

来自分类Dev

Python按模板对数组进行排序

来自分类Dev

按特定顺序对数组进行排序

来自分类Dev

按相应范围对数组进行排序

来自分类Dev

按数值对数组进行排序

来自分类Dev

按孩子的孩子对数组进行排序

来自分类Dev

按定义的顺序对数组进行排序

来自分类Dev

按严重程度对数组进行排序

来自分类Dev

按字母值对数组进行排序

来自分类Dev

如果值之一相同,如何按字母顺序对数组列表进行排序(Java)

来自分类Dev

按数字然后按字母对数组列表进行排序

来自分类Dev

按其元素的长度对列表进行排序