草庐IT

java - 使用 lambdaj 过滤集合

我有两个这样的类:publicclassOrder{privateIntegerid;privateListpositions;...}publicclassPosition{privateIntegerid;privateStringcontent;...}现在,我有一个包含订单的列表,我想获取所有具有特定内容的头寸的订单。目前我是这样做的:Listorders=...;ListoutputOrders=...;for(Orderorder:orders){if(select(order.getPositions(),having(on(Position.class).getCont

java - 从集合中找出其和为零的子集?

我有一组这样的整数{1,4,5,2,7,8,-3,-5,-6,9,3,-7,-1,5,6}该集合可以包含任意数量的项目,因为输入是从用户那里获取的,我需要从该集合中找到所有可能的子集,其总和等于零,例如在这种情况下,在上面的集合中,子集将是{(1,2,-3)}{(1,-1)}{(3,-3)}{(5,-5)}等等等等我试过这段代码,但是当我将target设置为零时它没有返回答案。importjava.util.ArrayList;importjava.util.Arrays;classSumSet{staticvoidsum_up_recursive(ArrayListnumbers,i

Java 泛型类从类型参数中排除集合

我找到了一种正确的方法来实现我正在寻找的逻辑,但我很好奇为什么以下方法不起作用。搜索了半小时没有找到答案,但可能是我没有正确措辞问题。我想做的是限制类型参数,这样Collections就不会被接受。虽然我可以测试参数类型,但我宁愿让IDE指示该类不接受Collection作为类型参数。我知道关键字excludes不存在,但我希望它有助于说明手头的问题。publicclassFoo{//TODO:CarryoutCollectionistoperations}有没有办法在Java中做到这一点?我认为这不是最佳实践,即使它是可能的,但我想满足我的好奇心,努力扩展我对泛型的理解。感谢您的时间

java - 在哪里可以找到支持的集合方法/类的概述

我试图在java.util包返回支持的集合(和map)中找到所有方法的概述。唯一容易找到的是synchronizedXX和immutableXX。但是还有其他的,比如subMap()。有没有比实际阅读文档更方便的方式来了解所有返回支持集合的util方法的更多信息?也许是视觉概览?在http://download.oracle.com/javase/tutorial/collections/implementations/wrapper.html中包装类的教程(作为答案被提出了两次)忽略了NavigableSet/Map接口(interface),因此不提供返回支持集合的方法的概述

java - 与父实体一起驱逐依赖集合

我刚刚意识到,当一个对象从Hibernate缓存中被逐出时,dependantcollections,ifcached,havetobeevictedseparately.对我来说,这是一个很大的WTF:很容易忘记驱逐一个集合(例如,当一个新的集合被添加到对象映射时);驱逐依赖集合的代码丑陋且庞大,例如MyClassmyObject=...;getHibernateTemplate().evict(myObject);缓存cache=getHibernateTemplate().getSessionFactory().getCache();cache.evictCollection("

java - 哪些标准 Java 集合在迭代期间是删除安全的?

使用for(Typex:collection){...}哪些广泛使用的集合类型可以在迭代期间安全地移除x?在JavaDocs中是否有一个技术术语需要注意?澄清:我最初只询问有关使用for-each语法for(Typex:collection){...}的问题。然而,一个更完整的答案将描述这种风格,并在存在差异的地方使用基于Iterator的普通循环……问题更多是关于哪个标准Collections允许我在迭代期间删除元素,以及如何执行迭代以允许这样做。 最佳答案 其中一个集合是CopyOnWriteArrayList.java.uti

具有泛型集合的类的 Java 适当扩展设计

假设我得到了A、B、C类B延伸A和C还扩展了A.现在我有2个不同的类,我们称它们为MyClassB和MyClassC与ArrayList的成员一起和ArrayList恭敬地。由于在MyClassB中进行了许多操作和MyClassC相同且仅在不同类型的ArrayList上完成,我想创建一个新的抽象类MyClassA它将在ArrayList上执行相同的操作对于两个类,自A是Action相同的公共(public)部分。所以我尝试在新的MyClassA中创建一个方法接收一个列表作为参数并应该对该列表执行操作的类。但是,我不能通过ArrayList到它期望的方法ArrayList.那么我该怎么做

java - 泛型集合 PECS

我对这个方法有疑问来自java.util.Collections:publicclassCollections{publicstaticvoidcopy(Listdest,Listsrc){for(inti=0;i我了解如何有效,但是,我不明白为什么第一个参数是List而不是List.我认为它在这种情况下没用。使用List应该也能正常工作,不是吗?如果可能的话,你能给我一些例子来理解它吗?谢谢。 最佳答案 不,这是有道理的。例如,考虑这种情况:T是InputStreamdest是Listsrc是List那绝对没问题。当然,您可以制作

java - 将泛型与实现相同接口(interface)的枚举类集合一起使用

我正在尝试做reverselookup在几个实现相同Field的枚举类上通过遍历Class的列表来实现界面es使用Guava的Maps.uniqueIndex:FieldvalueOfSearchName=null;for(finalClass>clazz:ImmutableList.of(EntityField.class,AddressField.class,PersonFunctionType.class)){valueOfSearchName=Fields.valueOfSearchName(clazz,term.field());//errorif(valueOfSearch

java - Java 中的惰性集合

考虑一个问题,我正在开发一个像Collection这样的树。我的Collection的主要功能之一是逐一跟踪所有存储的项目,然后为每个项目调用一个给定的函数,直到满足给定的标准遇到了(惰性Collection)。因此该函数应具有以下签名:voidTrace(functionfunc,criteriacrit){itemi=firstItem();while(i!=endItem()){i=nextItem();func(i);if(crit(i))return;}}在C++中,函数指针可用于func和crit。在C#中,yield关键字正是解决这个问题的方法,我相信。如何在Java中获