关于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”)
即先倒序删除重复的,然后再次倒序回来。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp
· Vite CVE-2025-30208 安全漏洞
· 《HelloGitHub》第 108 期
· MQ 如何保证数据一致性?
· 一个基于 .NET 开源免费的异地组网和内网穿透工具