随笔 - 156  文章 - 1  评论 - 30  阅读 - 14万

关于List对象的重复项清除和倒序处理

List对象是Android开发中需要常用到的一个东东。

private List<String> li = null;
li.add("abc");
li.add("123");
li.add("def");
li.add("123");
li.add("xyz");
for (int i=0; i<li.size()-1; i++){
System.out.println(li.get(i));
}

然后就可以将li中的条目逐一输出出来了:(“abc”, “123”, “def”, “123”, “xyz”)

如果想剔除li中重复的item,则可以通过如下函数实现:

    public static List<String> removeDuplicateWithOrder(List<String> list) {
Set<Object> set = new HashSet<Object>();
List<String> newList = new ArrayList<String>();
// list = reverseList(list);
for (Iterator<String> iter = list.iterator(); iter.hasNext();) {
Object element = iter.next();
if (set.add(element))
newList.add(element.toString());
}
// newList = reverseList(newList);
return newList;
}

通过调用上面的函数:private List<String> li2 = removeDuplicateWithOrder(li),然后通过一个循环输出li2的items:
(“abc”, “123”, “def”, “xyz”)

如果想要倒序剔除,则还需要一个倒序函数:

    public static List<String> reverseList(List<String> list) {
List<String> revList = new ArrayList<String>();
for(int i=list.size()-1; i>=0; i--){
revList.add(list.get(i));
}
return revList;
}

测试的时候,将removeDuplicateWithOrder中的两行注释放开就可以了,然后输出序列为:(“abc”, “def”, “123”, “xyz”)
即先倒序删除重复的,然后再次倒序回来。

posted on   wzc0066  阅读(426)  评论(0编辑  收藏  举报
编辑推荐:
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
阅读排行:
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp
· Vite CVE-2025-30208 安全漏洞
· 《HelloGitHub》第 108 期
· MQ 如何保证数据一致性?
· 一个基于 .NET 开源免费的异地组网和内网穿透工具
< 2013年3月 >
24 25 26 27 28 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31 1 2 3 4 5 6

点击右上角即可分享
微信分享提示