Tag: 集合

什么时候ConcurrentSkipListSet有用?

我刚刚在Java 6 API上看到了这个数据结构,我很好奇它什么时候会成为一个有用的资源。 我正在为scjp考试而学习,尽pipe我已经看过提及它的模拟考题,但是我没有看到它在凯西·谢拉的书上。

Arrays.asList()vs Collections.singletonList()

使用Arrays.asList(某些东西)而不是Collections.singletonList(某些东西)来创build一个包含一个项目的列表是否有优势(或者差别很大)? 后者使得返回的列表也是不可变的。

Symfony2实体集合 – 如何添加/删除与现有实体的关联?

1.快速浏览 1.1目标 我想要实现的是一个创build/编辑用户工具。 可编辑的字段是: 用户名(types:文本) plainPassword(types:密码) 电子邮件(types:电邮) 组(types:集合) avoRoles(types:集合) 注意:最后一个属性没有命名为$ roles,因为我的User类正在扩展FOSUserBundle的User类,覆盖angular色带来了更多的问题。 为了避免它们,我决定将我的angular色集合存储在$ avoRoles下 。 1.2用户界面 我的模板由两部分组成: 用户表单 表显示$ userRepository-> findAllRolesExceptOwnedByUser($ user); 注意:findAllRolesExceptOwnedByUser()是一个自定义存储库函数,返回所有angular色的子集(尚未分配给$ user的子集)。 1.3所需的function 1.3.1添加angular色: 当用户单击angular色表中的“+”(添加)button时 然后 jquery从Roles表中删除该行 和 jQuery的增加新的列表项到用户窗体(avoRoles列表) 1.3.2删除angular色: 当用户单击“用户”窗体中的“x”(删除)button(avoRoles列表) 然后 jquery从用户窗体(avoRoles列表)中删除该列表项 和 jquery添加新行到angular色表 1.3.3保存更改: 当用户点击“Zapisz”(保存)button THEN用户表单提交所有字段(用户名,密码,电子邮件,avoRoles,组) 并将avoRoles作为angular色实体的ArrayCollection保存(ManyToMany关系) 并将组保存为angular色实体的ArrayCollection(ManyToMany关系) 注意:只能将现有的angular色和组分配给用户。 如果由于任何原因,他们没有find表格不应该validation。 2.代码 在本节中,我将介绍或简要描述此操作背后的代码。 如果描述不够,你需要看到代码告诉我,我会粘贴它。 我并不是把所有东西都粘贴在一起,以避免垃圾邮件给你带来不必要的代码。 2.1用户类 我的用户类扩展了FOSUserBundle用户类。 namespace Avocode\UserBundle\Entity; use FOS\UserBundle\Entity\User as BaseUser; […]

C#有没有给我一个不可变的字典的方法?

有什么内置的核心C#库,可以给我一个不可变的词典? Java的一些东西: Collections.unmodifiableMap(myMap); 只是为了澄清,我不想阻止键/值本身被改变,只是字典的结构。 我想要的东西,如果任何IDictionary的mutator方法被调用( Add, Remove, Clear ) Add, Remove, Clear快速失败的声音。

是一个“无限”的迭代器坏devise?

提供“无限”的Iterator实现通常被认为是不好的做法。 即哪里调用hasNext()总是(*)返回true? 通常我会说“是”,因为调用代码可能会有不正常的行为,但在下面的实现中,除非调用者从列表中移除迭代器初始化的所有元素,否则hasNext()将返回true。 即有终止条件 。 你认为这是Iterator的合法使用吗? 这似乎并没有违反合约,虽然我认为可以说这是不直观的。 public class CyclicIterator<T> implements Iterator<T> { private final List<T> l; private Iterator<T> it; public CyclicIterator<T>(List<T> l) { this.l = l; this.it = l.iterator(); } public boolean hasNext() { return !l.isEmpty(); } public T next() { T ret; if (!hasNext()) { throw new NoSuchElementException(); } else if (it.hasNext()) { […]

如何将java.util.List复制到另一个java.util.List中

我有一个从Web服务填充的List<SomeBean> 。 我想将该列表的内容复制/克隆到相同types的空列表中。 谷歌search复制列表build议我使用Collections.copy()方法。 在我看到的所有例子中,目的地列表应该包含要进行复制的确切数量的项目。 由于我正在使用的列表通过Web服务填充,它包含数百个对象,我不能使用上述技术。 或者我使用它错了! 无论如何,为了使它工作,我试图做这样的事情,但我仍然有一个IndexOutOfBoundsException 。 List<SomeBean> wsList = app.allInOne(template); List<SomeBean> wsListCopy=new ArrayList<SomeBean>(wsList.size()); Collections.copy(wsListCopy,wsList); System.out.println(wsListCopy.size()); 我试图使用wsListCopy=wsList.subList(0, wsList.size())但是后来在代码中出现了ConcurrentAccessException wsListCopy=wsList.subList(0, wsList.size()) 。 打和审判。 🙂 无论如何,我的问题很简单, 我怎样才能将我的列表的全部内容复制到另一个列表? 当然不是通过迭代。

HashMap的build设者

Guava为Javatypes提供了很好的工厂方法,比如Maps.newHashMap() 。 但也有build设者的Java地图? HashMap<String,Integer> m = Maps.BuildHashMap. put("a",1). put("b",2). build();

将List <int>转换为逗号分隔的string

有没有办法把一个列表,并将其转换为一个逗号分隔的string? 我知道我可以循环和build立它,但不知何故,我认为你们中的一些人是一个更酷的方式呢? 我真的想学习这些types的“技巧”,所以请解释或链接到您使用的方法的文档。

解释Collections的语法。<String> emptyList()

我只研究了generics编程, List<E>接口和ArrayList ,所以我可以理解下面的语句。 ArrayList<String> list = new ArrayList<String>(); 但我不明白我在上网时看到的下一个声明。 List<String> list2 = Collections.<String>emptyList(); 什么是Collections ? 为什么不是Collections<E>或Collections<String> ? 为什么<String>放在方法名称emptyList之前? (不是emptyList<String>()正确的通用?) 这个声明是什么意思?

Collections.emptyList()和Collections.EMPTY_LIST有什么区别

在Java中,我们有Collections.emptyList()和Collections.EMPTY_LIST 。 两者都有相同的属性: 返回空列表(不可变)。 这个列表是可序列化的。 那么使用这个或那个之间的确切区别是什么?