社区
Java SE
帖子详情
请问如何确保List中的数据没有重叠的?
pn_nl
2007-03-12 02:54:01
前提是需要保持有序性,所以不能采用Set
如果对List中的每个值都遍历List,来判断List中是不是有重叠的值,效率太低了,不能采用
判断是不是重叠是根据对象的某一个字段来判断的
请问,有没有什么比较好的办法?最好效率比较高
...全文
451
18
打赏
收藏
请问如何确保List中的数据没有重叠的?
前提是需要保持有序性,所以不能采用Set 如果对List中的每个值都遍历List,来判断List中是不是有重叠的值,效率太低了,不能采用 判断是不是重叠是根据对象的某一个字段来判断的 请问,有没有什么比较好的办法?最好效率比较高
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
中
,如何避免多条形图
中
的条形图
重叠
我试图用可变的x值绘制多个条形图。我的情节是这样的如您所见,StartFFT_Gflops
中
的条与x轴上的下一个记号
重叠
。有
没有
什么方法可以增加刻度线之间的间距,使条形图不
重叠
?在我用下面的代码来绘制def plot_bars(hpcc_data, datapoints):fig, ax = plt.subplots()ind = np.arange(len(datapoints)) # arra...
java判断多个日期范围之间是否有
重叠
(日期到天)
java判断多个日期范围之间是否有
重叠
(日期到天) 最近在导入功能时,需要判断"导入的时间范围+
数据
库已有时间段”是否有时间范围
重叠
数据
, ,以下是判断日期是否有
重叠
的代码。 /** * 判断日期范围是否有
重叠
(日期到天) */ public static boolean overlapping(
List
<String>
list
) { if (
list
== null ||
list
.size() <= 1) { return false;
Java校验时间段
重叠
1.需求 要求保存每一条
数据
的startTime、endTime的
中
间时间段是唯一的,跟其他
数据
时间段不能存在冲突 比如: (2019-03-01 -> 2019-03-03 ) (2019-03-02 -> 2019-03-04 ) 这两个时间段存在
重叠
部分 2.思路 首先,校验前端传的
list
<model>自身先比较是否有时间冲突; 然后,校...
java 时间段
重叠
_Java判断多个时间段是否
重叠
(
重叠
区间个数)
import java.util.Array
List
;import java.util.Collections;import java.util.
List
;/*** 判断多个时间段是否出现
重叠
* @author cavancao*/public class TimeSlotUtil {public static boolean checkOverlap(
List
list
){Collections...
java
List
去除重复
数据
的五种方式
1.使用LinkedHashSet删除array
list
中
的重复
数据
public static void main(String[] args) { int
List
[] =[1, 1, 2, 3, 3, 3, 4, 5, 6, 6, 6, 7, 8] LinkedHashSet<Integer> hashSet = new LinkedHashSet<>(
List
); Array
List
<Integer> l
Java SE
62,635
社区成员
307,269
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章