社区
Java SE
帖子详情
请问如何确保List中的数据没有重叠的?
pn_nl
2007-03-12 02:54:01
前提是需要保持有序性,所以不能采用Set
如果对List中的每个值都遍历List,来判断List中是不是有重叠的值,效率太低了,不能采用
判断是不是重叠是根据对象的某一个字段来判断的
请问,有没有什么比较好的办法?最好效率比较高
...全文
448
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()
bar不
重叠
matlab,在matplotlib
中
,如何避免多条形图
中
的条形图
重叠
有
没有
什么方法可以增加刻度线之间的间距,使条形图不
重叠
?在我用下面的代码来绘制def plot_bars(hpcc_data, datapoints):fig, ax = plt.subplots()ind = np.arange(len(datapoints)) # arra...
Java校验时间段
重叠
要求保存每一条
数据
的startTime、endTime的
中
间时间段是唯一的,跟其他
数据
时间段不能存在冲突 比如: (2019-03-01 -> 2019-03-03 ) (2019-03-02 -> 2019-03-04 ) 这两个时间段存在
重叠
部分 2.思路 首先,...
java判断多个日期范围之间是否有
重叠
(日期到天)
最近在导入功能时,需要判断"导入的时间范围+
数据
库已有时间段”是否有时间范围
重叠
数据
, ,以下是判断日期是否有
重叠
的代码。 /** * 判断日期范围是否有
重叠
(日期到天) */ public static boolean overlapping...
java两个
list
的
数据
快速对比 map的使用
把2个
list
数据
放到map里面,利用map的containsKey进行快速比对 2. //
数据
1
List
<Long>
list
1 = new Array
List
<Long>(); //
数据
2
List
<Long>
list
2 = new Array
List
<Long>(); Map<...
java 时间段
重叠
_Java判断多个时间段是否
重叠
(
重叠
区间个数)
import java.util.Array
List
;import java.util.Collections;.../*** 判断多个时间段是否出现
重叠
* @author cavancao*/public class TimeSlotUtil {public static boolean checkOverlap(
List
list
){Collections...
Java SE
62,614
社区成员
307,326
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章