Tag: 集合

在TreeSet上使用迭代器

情况:我有一个自定义对象的TreeSet,我也使用了自定义比较器。 我已经创建了一个在这个TreeSet上使用的迭代器。 TreeSet ts=new TreeSet(); Iterator itr=ts.iterator(); while(itr.hasNext()){ Custom c=itr.next(); //Code to add a new element to the TreeSet ts } 问题:我想知道如果我在while循环中向TreeSet添加一个新元素,那么新元素是否会立即排序。 换句话说,如果我在while循环中添加一个新元素并且它小于我当前在c中保存的元素,那么在下一次迭代中我将获得与上一次迭代中相同的元素吗?(因为在排序之后,新添加的元素将占据当前元素之前的某个位置。

如何正确序列化Hibernate集合?

我正在尝试从使用Hibernate检索的数据库中序列化对象,而我只对整个对象的实际数据感兴趣(包括循环)。 现在我一直在使用XStream ,它似乎很强大。 XStream的问题在于它对信息的看法太过盲目。 它可以识别Hibernate的PersistentCollections,包含所有Hibernate元数据。 我不想序列化那些。 那么,是否有合理的方法从PersistentCollection中提取原始Collection,并初始化对象可能指向的所有引用数据。 或者你能推荐我一个更好的方法吗? ( Simple的结果似乎很完美,但是它无法处理像Calendar这样的基本util类。它一次只接受一个带注释的对象)

Collection Alternative – ConcurrentModificationException

我正在迭代一个JRE Collection,它强制执行fail-fast迭代器概念。 问题是如果对象满足条件,我需要删除对象的逻辑伙伴。 从而防止合作伙伴也被处理。 有人可以为此建议更好的收集类型吗? 例。 myCollection for (BusinessObject anObject : myCollection) { if (someConditionIsTrue) { myCollection.remove(anObjectsPartner); // throws ConcurrentModificationException } } 谢谢。

为什么Java的TreeSet remove(Object)不带E

从Java 6 TreeSet文档: boolean remove(Object o): Removes the specified element from this set if it is present. 为什么这会接受Object而不是genericsE? 唯一可以添加的对象是E类型,因此唯一的可移动类型应该是E类型。

将double数组转换为Double ArrayList

当我尝试将双数组转换为Double arrayList时,我收到以下错误: 线程“main”中的exceptionjava.lang.ClassCastException:[D不能强制转换为java.lang.Double 以下是我的代码。 double [] firstValueArray ; ArrayList firstValueList = new ArrayList (Arrays.asList(firstValueArray)); 我将此列表与另一个列表进行比较,并将结果分配给另一个双变量。 请让我知道此错误的原因。

如何在Java 7中使用集合文字?

我试过以下这一行: Map map={new Character(‘r’):Color.red,new Character(‘b’):Color.black}; 但Netbeans 7拒绝这一点,错误信息为'{‘ expected, ‘;’ expected ‘{‘ expected, ‘;’ expected 。 我将Source / Binary格式设置为’JDK 7’,将平台设置为’JDK 1.7’,还有什么我需要做的吗?

如何检查generics类型是否在java中实现了特定类型的generics接口?

可能重复: 运行时的局部变量的通用类型 我是Javagenerics的新手,来自.NET世界,我习惯于能够编写这样的方法: public void genericMethod(T genericObject) { if (genericObject is IList) { //Do something… } } 该方法接受generics类型的对象,并检查该对象是否实现了通用接口IList的特定版本,在本例中为IList 。 现在,在Java中,我能够做到这一点: public void genericMethod(T genericObject) { if (genericObject instanceof Set) { //Do something… } } 但 Java不允许我这样做if (genericObject instanceof Set) 据我所知,由于类型擦除,通常在Java中,这将由类对象处理,我们将执行以下操作: public void genericMethod(T genericObject) { Class testClass = OurTestingType.class; if (genericObject.getClass() == testClass) { //Do […]

如何从List 获取IntStream?

我可以想到两种方式: public static IntStream foo(List list) { return list.stream().mapToInt(Integer::valueOf); } public static IntStream bar(List list) { return list.stream().mapToInt(x -> x); } 什么是惯用的方式? 也许已经有一个库函数完全符合我的要求?

是否有可能获得Hibernate sqlRestriction的连接表的SQL别名?

我有一个Person类,它有一个别名的String集合,表示人可能经过的其他名称。 例如,克拉克肯特可能有别名“超人”和“钢铁侠”。 德怀特霍华德也有别名“超人”。 @Entity class Person { @CollectionOfElements(fetch=FetchType.EAGER) Set aliases = new TreeSet(); Hibernate在我的数据库中创建了两个表,Person和Person_aliases。 Person_aliases是一个包含Person_id和element列的连接表。 假设Person_aliases具有以下数据 ——————————– | Person_id | element | ——————————– | Clark Kent | Superman | | Clark Kent | Man of Steel | | Dwight Howard | Superman | | Bruce Wayne | Batman | ——————————– 我想为所有使用“超人”别名的人制作一个hibernate Criteria查询。 由于这里列出的原因太长,我真的想把它作为Criteria查询,而不是HQL查询(除非可以在Criteria对象上添加HQL限制,在这种情况下我可以全部听到)或者是原始的SQL查询。 因为根据如何使用Hibernate Criteria在String集合中查询具有值的对象? […]

属性文件,其中列表作为单个键的值

对于我的程序,我想从属性文件和键的相关值列表中读取一个键。 最近我这样做了 public static Map<String,List>categoryMap = new Hashtable<String, List>(); Properties prop = new Properties(); try { prop2.load(new FileInputStream(/displayCategerization.properties)); Set keys = prop.keySet(); List categoryList = new ArrayList(); for (Object key : keys) { categoryList.add((String)prop2.get(key)); LogDisplayService.categoryMap.put((String)key,categoryList); } System.out.println(categoryList); System.out.println(“Category Map :”+LogDisplayService.categoryMap); keys = null; prop = null; } catch (Throwable e) { e.printStackTrace(); } 和我的属性文件如下 – […]