社区
Java SE
帖子详情
请问如何确保List中的数据没有重叠的?
pn_nl
2007-03-12 02:54:01
前提是需要保持有序性,所以不能采用Set
如果对List中的每个值都遍历List,来判断List中是不是有重叠的值,效率太低了,不能采用
判断是不是重叠是根据对象的某一个字段来判断的
请问,有没有什么比较好的办法?最好效率比较高
...全文
508
18
打赏
收藏
请问如何确保List中的数据没有重叠的?
前提是需要保持有序性,所以不能采用Set 如果对List中的每个值都遍历List,来判断List中是不是有重叠的值,效率太低了,不能采用 判断是不是重叠是根据对象的某一个字段来判断的 请问,有没有什么比较好的办法?最好效率比较高
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
iamsangster
2007-03-13
打赏
举报
回复
collections.sort(List ,Compare);
collections.b...search(List,.....);
java_new_comer
2007-03-13
打赏
举报
回复
依据字段来判断的话。上面的程序改动一点就可以了:
Object[] object=(Object[]) list.get(i);
String ob=(String) object[2];
java_new_comer
2007-03-13
打赏
举报
回复
public boolean havaSameElement(){
Map map=new HashMap();
List list= new YourList();
for(int i=0;i<list.size();i++){
Object ob=list.get(i);
if(map.containsKey(ob)){
return false;
}else{
map.put(ob,"");
}
}
return true;
}
ftiger
2007-03-13
打赏
举报
回复
请改成LinkedHashSet
TreeSet会重新排序的。
许飘大叔
2007-03-13
打赏
举报
回复
问题没必要太复杂化吧
捏造的信仰
2007-03-13
打赏
举报
回复
同楼上
谜斯特段
2007-03-13
打赏
举报
回复
add的时候加个判断
if (list.contains(obj)){//如果包含了一个重复的对象,就不加
}
xk2y
2007-03-13
打赏
举报
回复
学习````
diracstar
2007-03-12
打赏
举报
回复
请使用TreeSet
frilly
2007-03-12
打赏
举报
回复
避免重复,你用Hashtable类,不是挺好吗
pn_nl
2007-03-12
打赏
举报
回复
To interpb:
正在试验你说的标志位的方法
Dan1980
2007-03-12
打赏
举报
回复
第一,Set也可以保持有序。
第二,要避免重复,不遍历成员是不可能的,Set的内部也是采用遍历的。
第三,要避免重复,你必须为成员类定义equals()方法(最好同时定义hashCode()方法和compareTo()方法),String对象除外,因为String类已经对这些做了很好的定义了。
shan1119
2007-03-12
打赏
举报
回复
个人觉得List.contains()就挺好。。
lixiaoxue85
2007-03-12
打赏
举报
回复
将List中的数据导入SET,然后再导出来不就可以了~~SET相当于过滤器了
interpb
2007-03-12
打赏
举报
回复
首先你的List里面存放的是什么类型的对象
而且重复值 到底是 对象内存一样 还是紫荆定义的某几个属性相同就是同一个对象
contains 应该也是遍历
你最好在list里面放一个 标志对象
比如这个对象存储了 List里面其他对象的标志位 在插入之前先对调用标志对象的方法
看是不是有重复值 就可以避免遍历 List了
pn_nl
2007-03-12
打赏
举报
回复
Set的确有几个实现可以保持有序,好像LinkedHashSet也可以保持有序
但是因为我这个需求是基于Vector的实现,本身已经有几个类似get(int i)的方法,所以不能改变对外的api,用Set的话,能实现吗?
gongyali2005
2007-03-12
打赏
举报
回复
TreeSet不也是有序的么?
yeah920
2007-03-12
打赏
举报
回复
List.contains()
java判断时间段是否交叉
重叠
本文介绍如何在Java
中
判断时间段是否交叉
重叠
。首先,针对前端传入的
数据
进行自我校验,
确保
不存在内部冲突。接着,通过两层循环比较,检查前端
数据
与
数据
库已有
数据
是否存在时间冲突。代码示例包括实体类定义、日期格式处理以及前后端
数据
的比较方法。
MySql分区策略:HASH/RANGE/
LIST
/KEY
本文深入解析MySQL
中
的表分区策略,包括HASH、RANGE、
LIST
和KEY四种方式,详细阐述每种分区方法的工作原理和应用场景,同时分享实际操作案例,帮助读者理解和掌握如何有效利用表分区提升
数据
库性能。
The Bucket
List
探讨了在特定条件下,如何为农场
中
的奶牛分配最少数量的挤奶桶,以
确保
每头奶牛在指定时间内都有足够的独立挤奶桶使用。通过枚举每个时刻并记录
重叠
最多的挤奶需求,确定了所需挤奶桶的总数。
探索高效区间处理新纪元:Nested Containment
List
(NCLS) 深度解析及应用推广
在大
数据
和生物信息学时代,区间
重叠
查询需求迫切。Nested Containment
List
(NCLS)是解决该问题的高性能
数据
结构,效率远超传统区间树。它构建和查询速度快、内存消耗少,适用于生物信息学、
数据
分析等场景,具有高性能、低内存等特点,安装使用简单。
5个高效解决folium地图标注
重叠
的实用技巧
本文系统介绍5种解决folium地图标注
重叠
的实用技术:路径文本自动适配、动态标注优先级控制、智能聚合标注、标注样式视觉优化、基于空间索引的碰撞检测。涵盖密度评估、技术选型、性能调优及典型场景(城市路网、行政区划、热力图)应用,强调大
数据
量处理、Canvas渲染、色盲友好配色等关键技术实践。
Java SE
62,621
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章