最近做的项目里面有用到选城市嘚功能城市是根据首根据字母表的顺序排序排序的,数据都是通过后台返回的
这个功能用到了一个第三方的库indexlib,然后列表是用RecycleView实现的
先给大家看一下效果图:
2.使用 这里吧 你需要的数据 都加上,然后进行排序
//以下代码设置城市拼音首根据字母表的顺序排序
项目源码可以箌我的gitup上下载:
最近做的项目里面有用到选城市嘚功能城市是根据首根据字母表的顺序排序排序的,数据都是通过后台返回的
这个功能用到了一个第三方的库indexlib,然后列表是用RecycleView实现的
先给大家看一下效果图:
2.使用 这里吧 你需要的数据 都加上,然后进行排序
//以下代码设置城市拼音首根据字母表的顺序排序
项目源码可以箌我的gitup上下载:
如果您被迫使用该List或者您的程序具有类似的结构
永远不要再改变那个清单
然后Thilos的回答将是最好的方式。如果你把它与Tom Hawtin的建议结合起来-你会得到:
如果您可以自由决定並且您的应用程序可能会变得更复杂,那么您可能会更改代码以使用TreeSet这种集合在插入时对您的条目进行排序。无需调用sort()
关于为什麼我更喜欢TreeSet的旁注
这有一些微妙但重要的优点:
它只是更短。但是只有一条线更短
永远不要担心这个列表现在真正排序,因为无论你做什么TreeSet总是排序。
您不能有重复的条目根据您的情况,这可能是专业人士或骗子如果您需要重复,请坚持您的列表
一位经验丰富的程序员看着TreeSet<String> countyNames并立即知道:这是一个排序的字符串集合,没有重复我可以肯定这是每时每刻都是如此。简短声明中的大量信息
在某些情況下真正的表现胜利。如果您使用List并经常插入值并且可以在这些插入之间读取列表,则必须在每次插入后对列表进行排序该集合也是洳此,但速度要快得多
使用正确的集合来完成正确的任务是编写简短和无错误代码的关键。在这种情况下它不是示范性的,因为您只需保存一行但我已经停止计算,当他们想要确保没有重复项时我会看到有人使用List,然后自己构建该功能或者更糟糕的是,当你真正需要Map时使用两个列表
不要误会我的意思:使用Collections.sort不是错误或缺陷。但是在很多情况下TreeSet更清晰。
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。