java去掉List中的重复值代码
2024-10-14 07:17:55
1. list中为字符串的情况,代码如下:
public static void main(String[] args) {
List<String> li = new ArrayList<String>();
li.add("AAAA");
li.add("AAAA");
li.add("AAAA");
li.add("BBBB");
li.add("BBBB");
li.add("CCCC");
li.add("CCCC");
li.add("CCCC");
li.add("CCCC"); ArrayList<String> result = new ArrayList<String>();
for (String s : li) {
if (Collections.frequency(result, s) < 1)
result.add(s);
}
for (int i = 0; i < result.size(); i++) {
System.out.println(result.get(i));
}
}
输出结果为:
AAAA
BBBB
CCCC
2.如果list存放的是对象,可以借助Map来处理,因为Map中key值不能够重复的特点.
/***
* 去除List<PartsInfoDTO>列表中的重复对象 ~!!
* @param list
* @return
*/
public static List<PartsInfoDTO> removeDuplicate(List<PartsInfoDTO> list) {
// Set<PartsInfoDTO> set = new HashSet<PartsInfoDTO>();
List<PartsInfoDTO> newList = new ArrayList<PartsInfoDTO>(); Map map = new HashMap();
for (Iterator<PartsInfoDTO> iter = list.iterator(); iter.hasNext();) {
PartsInfoDTO element = (PartsInfoDTO) iter.next();
map.put(element.getId(), element); //如果id重复会覆盖.
} Iterator it = map.keySet().iterator();
while (it.hasNext()) {
Integer key = (Integer) it.next();
newList.add((PartsInfoDTO) map.get(key));
} return newList;
}
另外补充下Map转换成List的方法:
/**
* @param args
*/
public static void main(String[] args) { Map map = new HashMap();
map.put("a", "a1");
map.put("b", "b1");
map.put("c", "c1"); List listKey = new ArrayList();
List listValue = new ArrayList();
Iterator it = map.keySet().iterator();
while (it.hasNext()) {
String key = it.next().toString();
listKey.add(key);
listValue.add(map.get(key));
}
System.out.println("Convert Finished !"); for (int i = 0; i < listKey.size(); i++) {
System.out.print("Key :" + listKey.get(i));
System.out.println(" Value :" + listValue.get(i));
}
}
最新文章
- host Object和native Object的区别
- 【转】Python yield 使用浅析
- UI2_UITableViewDelete
- 绝对URL和相对URL
- sublime 经验总结 主题有 less2css
- ALV 行列 颜色
- 牛刀小试、用SharePoint 实现请假管理功能
- 关于怎么将Quartus和Nios程序一起固化到FPGA里面
- javabean 简介
- 开源 免费 java CMS - FreeCMS2.0 会员我的评论
- (转载)HDU4565
- Smarterer Test
- Python web框架有哪些
- bzoj 4383: [POI2015]Pustynia
- Azure Messaging-ServiceBus Messaging消息队列技术系列8-服务总线配额
- 一步一步从原理跟我学邮件收取及发送 11.完整的发送示例与go语言
- httpclient用getStatusCode
- 一、ESP8266入门(基于LUA开发)
- 发票打印不全不完整的解决方案(Win10)
- ie 下date对象