草庐IT

重复性

全部标签

java - Set 集合中的重复值?

是否可以在Set集合中允许重复值?有什么方法可以使元素独一无二并拥有它们的一些副本吗?Set集合中有没有重复值的函数? 最佳答案 曾经考虑过使用java.util.List相反?否则我会推荐Multiset来自GoogleGuava(GoogleCollections的后继者,这个答案最初推荐-ed。)。 关于java-Set集合中的重复值?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/quest

java - 避免在 Spring 中为 TImeline 功能创建重复项

我正在开发一个Spring-MVC项目,目前我正在为此开发时间轴功能。我已经有了一个基本的基础设施,但目前,我正在处理映射,以及如何避免为时间轴功能创建重复项。情况:在我们的工具中,有一个GroupSection,它与GroupNote是一对多的映射关系。GroupNote对象与Attachments、History具有一对多的映射关系。这个时间轴的功能是什么?在时间线功能中,任何用户都可以在任何时间点跳转并查看GroupSection、GroupNotes、附件和历史记录的内容。我打算如何实现它?我在上述每个对象中都有4个变量来处理这个问题。它们是DateSavedDate、bool

java - Criteria.DISTINCT_ROOT_ENTITY 不会阻止重复的对象

我有以下dao方法:@OverridepublicListfindAll(){Sessionsession=sessionFactory.getCurrentSession();Criteriacriteria=session.createCriteria(AdminRole.class);criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);returncriteria.list();}实际上我想从数据库中检索所有条目。有时我会看到重复项。当我添加具有AdminRole的用户时会发生这种情况。我已经读到,当我使用EA

java - 使用 Java Set 进行重复数据删除

我有一个对象集合,我们称它们为A、B、C、D...,其中一些对象与其他对象相等。如果A和C相等,那么我想用对A的引用替换对C的每个引用。这意味着(a)可以对对象C进行垃圾回收,释放内存,以及(b)我稍后可以使用“==”比较对象代替昂贵的equals()操作。(这些对象很大,equals()操作很慢。)我的直觉是使用java.util.Set。当我遇到C时,我可以很容易地看到Set中是否有等于C的条目。但如果有,似乎没有简单的方法来找出该条目是什么,并替换我的引用到现有条目。我错了吗?遍历所有条目以找到匹配的条目显然是行不通的。目前,我使用的不是Set,而是Map,其中值始终与键相同。调

java - 使 Gson 在使用重复键解析 JSON 时抛出异常

我正在使用Gson解析简单的JSON对象。我希望它在键名重复时抛出一些错误。例如{a:2,a:3}在我的例子中,Gson解析这样的JSON并将a设置为3。我希望它抛出一些异常。我知道我可以将JSON解析为映射,然后Gson在这种情况下抛出异常,但前提是重复的键没有嵌套在映射中。如果我有例如像这样的JSON:{a:2,b:{dup:1,dup:2}}仍然,它毫无异常(exception)地被解析,我只有一个值为2的“dup”。在这种情况下,我能否以某种方式设置Gson以抛出错误?或者在JsonObject实例中有重复的条目,这样我就可以自己检测到它(但我对此表示怀疑,因为它是无效的Jso

java - 随机生成的 UUID 有重复项

我正在使用下面的函数生成UUIDUUID.randomUUID().toString()在生产环境中,我们有50多台服务器(应用服务器——每台服务器都是一个独立的JVM),对于到达这些服务器的请求,作为第一步,我们生成一个UUID,它本质上是唯一标识事务的。我们观察到,在服务器6和服务器11中,生成的UUID每天至少匹配10到15条消息,这很奇怪,因为给定负载,即每天大约100万个事务,这些UUID在内部重复同一天很奇怪。这是我们目前所做的验证了应用程序日志-我们没有发现任何可疑的东西,所有日志都正常尝试在具有类似生产负载和50多台服务器的测试环境中复制此问题-但这在测试环境中没有发生

java - 重复实例化匿名类是否浪费?

我对一段代码的评论是这样的:IterableupperCaseNames=Iterables.transform(lowerCaseNames,newFunction(){publicStringapply(Stringinput){returninput.toUpperCase();}});那个人说每次我浏览这段代码时,我都会实例化这个匿名函数类,我宁愿在静态变量中有一个实例:staticFunctiontoUpperCaseFn=newFunction(){publicStringapply(Stringinput){returninput.toUpperCase();}};...

Java:优化哈希集以进行大规模重复检测

我正在处理一个处理大量推文的项目;目标是在我处理它们时删除重复项。我有推文ID,它们以"166471306949304320"格式的字符串形式出现我一直在使用HashSet为此,它可以正常工作一段时间。但是当我处理到大约1000万个项目时,我彻底陷入困境并最终得到一个GC错误,大概是由于重新散列。我尝试用定义更好的尺寸/负载tweetids=newHashSet(220000,0.80F);这让它走得更远,但仍然非常慢(处理大约1000万时需要3倍的时间)。我该如何优化呢?鉴于我大致知道到最后集合中应该有多少项目(在这种情况下,大约20-22百万),我应该创建一个只重新散列两次或三次的

java - 更改一个对象的属性时替换重复代码的设计模式

我有4个自定义微调器,用于修改一个选定小部件的宽度、高度、X位置和Y位置。我的小部件可以在屏幕上四处拖动,我的想法是使用这些微调器来更改某些属性,例如宽度或高度,并立即查看更改的效果。是否有一种模式可用于仅用一个替换所有这些类(XSpinnerListener、YSpinnerListener...)并指示我当前对象(JButton)的哪个属性需要更改?这是一个好的设计方法吗?publicvoidinit(){widthSpinner.setListener(newWidthSpinnerListener());heightSpinner.setListener(newHeightSp

java - 检测流中的重复组

我想确保列表中的所有数字都组合在一起。让我用例子解释一下:{1,1,1,2,2}//OK,twodistinctgroups{1,1,2,2,1,1}//Bad,twogroupswith"1"{1,2,3,4}//OK,4distinctgroupsofsize1{1,1,1,1}//OK,1group{3,4,3}//Bad,twogroupswith"3"{99,-99,99}//Bad,twogroupswith"99"{}//OK,nogroups这是我获取流的方式:IntStream.of(numbers)...现在我需要为“OK”示例传递或返回true,并在“Bad”示例