草庐IT

oci_new_collection

全部标签

java - Collection 是 Java 中 Object 的子类型吗?

是CollectionObject的子类型在java?这可能是一个愚蠢的问题,但不是Object每个类的根? 最佳答案 没有。Collection是一个接口(interface),接口(interface)不能从类继承——因此它们不能从Object继承。(没有实现的接口(interface)从可以有实现的类继承是没有意义的。)但是,任何实现Collection的类显然都必须继承自Object。因此,您可以将实现Collection的对象视为继承自Object,因为最终它们将不得不这样做。这是语义上的差异,但是OO理论中的一个重要区别

java - List<List<String>> 是 Collection<Collection<T>> 的实例吗?

我编写了这个方便的通用函数,用于将集合的集合转换为单个集合:publicstaticSetmakeSet(Collection>a_collection){Iterator>it=a_collection.iterator();Setresult=newHashSet();while(it.hasNext()){result.addAll(it.next());}returnresult;}然后我试着调用它:List>resultLists=...;SetlabelsSet=CollectionsHelper.makeSet(resultLists);我收到以下错误:makeSet(j

java - 在使用 DI 框架的项目中,您永远不应该使用 'new' 运算符吗?

我正在努力研究依赖注入(inject)。我感到困惑的一件事是,您的对象实例化是否所有都需要由DI框架(Spring、Guice等)控制。或者,如果不是,您如何确定哪些对象由框架实例化,哪些对象由new运算符实例化? 最佳答案 不,还有新的地方。并非所有对象都需要受DI工厂的控制。您可以很容易地找出需要在DI工厂控制下的类,因为它们通常涉及接口(interface)和实现。实现中的任何本地对象都有权调用new。为满足特定用例而实例化的模型对象应通过调用new并传递该特定实例的参数值来实例化。

java - Collections.binarySearch(List list, K key) 说明。 java

给出以下声明,摘自thisOraclejava教程,与类Collections的binarySearch()方法相关:Thereturnvalueisthesameforbothforms.IftheListcontainsthesearchkey,itsindexisreturned.Ifnot,thereturnvalueis(-(insertionpoint)-1),wheretheinsertionpointisthepointatwhichthevaluewouldbeinsertedintotheList,ortheindexofthefirstelementgreater

java - Collections.binarySearch() 与 List indexOf()

我有一个包含超过37K项的列表,并且我已经实现了hashCode()、equals(),所以我想知道Collections.binarySearch()可以帮助提高性能并且比indexOf()方法更快。 最佳答案 如果您的集合已排序,binarySearch()将是O(logn)而不是indexOf()的O(n),您肯定会看到一个改进。 关于java-Collections.binarySearch()与ListindexOf(),我们在StackOverflow上找到一个类似的问题:

参数中的 Java "new"关键字

最近我浏览了很多OOP设计模式,并且遇到了一些我以前从未见过的奇怪的东西:Buttonbutton=newButton(shell,SWT.PUSH);button.addSelectionListener(newSelectionAdapter(){@OverridepublicvoidwidgetSelected(SelectionEvente){//HandletheselectioneventSystem.out.println("Called!");}});具体来说,这是做什么的(例如,“new”关键字在这里做什么)?:button.addSelectionListener(

java - 为什么 int[] a = new int[1] 而不是 int a?

这段代码中是否有一些我在Java中看不到的隐藏含义?它有什么用处?int[]a=newint[1];不仅仅是inta;因为从我的角度来看它是一样的? 最佳答案 inta定义一个原始int。int[]a=newint[1];定义一个数组,该数组的空间可容纳1个int。它们是两种截然不同的东西。原语没有方法/属性,但数组有属性(长度)和方法(特别是它的克隆方法,以及对象的所有方法)。数组有点奇怪。它们在JLS中定义.在实践中,当您需要与采用数组并对结果进行操作的API进行交互时,这样做是有意义的。传递对具有0、1或n个属性的数组的引用是

java - 为什么有人会在 java 中使用 Collections.emptyList?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Collections.emptyList()vs.newinstance我试图理解使用以下方法创建列表的新实例之间的区别:newArrayList和Collections.emptyList();据我了解,后者返回一个不可变列表。这意味着无法添加、删除或修改它。我想知道为什么要创建和不可变的emptyList?有什么用?谢谢

java - 为什么 Java 8 有 Arrays.parallelSort() 但没有 Collections.parallelSort()?

Java8以重载Arrays.sort()的形式引入了一种用于数组多线程排序的并行算法。方法。为什么它不提供Collections.parallelSort(),用于List的多线程排序? 最佳答案 List不一定能有效实现与数组相同的并行排序算法。您可以将它直接应用于ArrayList,但很可能不能应用于LinkedList,因为它缺乏有效的随机访问。有针对这种列表的高效多线程排序算法,但它们不同于随机访问列表。而且,事实上,List接口(interface)的线程安全实现可能根本不支持高效的外部多线程排序,由于同步。为它们提供通

java - 使用 openEntityManagerInView 仍然得到 "failed to lazily initialize a collection of role"

我试图将我的一个实体返回到JSP页面,但收到以下错误“无法延迟初始化角色集合”。我已经添加了openEntityManagerInView过滤器(假设它允许实体管理器在View中保持打开状态?)但仍然出现此错误。我的应用程序是使用没有xml的javaconfig配置的。下面是我的调度程序servelet。你可以看到我已经添加了openEntityManagerInView过滤器。知道这是为什么吗?我在stackoverflow上检查过类似的问题,但没有找到所提供的解决方案。publicclassDispatcherServletInitializerextendsAbstractAnn