草庐IT

list_item

全部标签

java - indexOf() 具有重复字符串的奇怪 Java.util.List 行为

我刚刚遇到了一些奇怪的行为,这在ArrayList中是意想不到的。在java。当然,这是因为我对Java中的引用理解不足。让我向您展示这段代码:ListmyList=newArrayList();myList.add("One");myList.add("Two");myList.add("Two");myList.add("Three");for(Strings:myList){System.out.println(myList.indexOf(s));}这段代码提供了以下输出:0113怎么会?我故意添加了两个包含相同字符(“两个”)的字符串,但对象本身不应该相同。我在这里误解了什么

c# - 链表 <T> (2.0) : removing items iteratively

我需要遍历LinkedList(在.NET2.0中)并根据给定条件删除所有项目。这在Java下很简单,因为我可以执行以下操作:Iteratori=list.iterator();while(i.hasNext()){Ee=i.next();if(e==x){//Found,somoveittothefront,i.remove();list.addFirst(x);//Returnitreturnx;}}不幸的是,在IEnumerator的.NET行为中(相当于Iterator)没有remove方法从集合中删除当前元素。此外,在LinkedList无法访问给定索引处的元素,无法通过从最

java - 谷歌 Collection ( Guava 图书馆): ImmutableSet/List/Map and Filtering

假设您要构建一个ImmutableSet/List/Map对象的副本,但要过滤掉一些原始条目。一种实现方法如下:ImmutableList.copyOf(Iterables.filter(myObject,myObject.EQUALS));其中myObject.EQUALS是Iterables.filter()操作的谓词。我认为这是一个非常优雅且易于阅读的实现。然而,构建两个列表对象(第一个通过Iterables.filter(...)调用,第二个通过ImmutableList.copyOf(...))是非常低效的.有人知道更有效的方法吗?我想最好的办法是向ImmutableSet/

java - 为什么要将新的 ArrayList 分配给 List 变量?

我是java的新手,当我浏览网上许多示例的代码时,我看到人们将ArrayList的变量声明为简单的List例。ListmyList=newArrayList();我不明白这样做是否有一些特定的优势。为什么它不能是ArrayList本身,像这样:ArrayListmyList=newArrayList(); 最佳答案 它叫做programmingtoaninterface.它允许您用ArrayList替换LinkedList,如果您在某处决定LinkedList更合适。 关于java-为什

java - 如何将 List 包装为 Jackson 生成的 JSON 中的顶级元素

我遇到了一个问题,我试图将一个列表作为根节点包含在内,但我似乎无法获得它。让我解释。假设我们有一个类“TestClass”classTestClass{StringpropertyA;}现在,在一些实用方法中,这就是我所做的StringutilityMethod(){Listlist=someService.getList();newObjectMapper().writeValueAsString(list);}我试图在JSON中获得的输出是{"ListOfTestClasses":[{"propertyA":"propertyAValue"},{"propertyA":"someO

Java 8, lambda : Sorting within grouped Lists and merging all groups to a list

基于以下答案:https://stackoverflow.com/a/30202075/8760211如何按stud_id对每个组进行排序,然后返回一个包含所有学生的列表作为按stud_location分组然后按stud_id排序的结果)?将其作为现有Lambda表达式的扩展会很棒:Map>studlistGrouped=studlist.stream().collect(Collectors.groupingBy(w->w.stud_location));我需要根据原始列表中元素的顺序进行分组。Firstgroup:"NewYork"Secondgroup:"California"T

java - 如何从 Map<K, List<T>> 创建 Map<T, List<K>>?

我正在尝试实现功能:privatestaticMap>invertedMap(Map>m)例如,如果我有Map>,我想创建另一个Map>.我写了一些代码:privatestaticMap>invertedMap(Mapm){returnm.keySet().stream().collect(Collectors.groupingBy(k->m.get(k)));}但如您所见,这仅在参数中的映射不包含列表作为值时才有效。 最佳答案 我不会为此使用流(如果您想要基于流的解决方案,请检查nullpointer'sanswer):priva

java - 为什么不能将 ArrayList 分配给 List 变量?

为什么下面的代码不起作用?importjava.net.URL;importjava.util.ArrayList;importjava.util.List;List>announces;announces=newArrayList>();错误如下:Typemismatch:cannotconvertfromArrayList>to> 最佳答案 因为您的泛型绑定(bind)到一个类型List.即只有List(这是一个接口(interface))被接受。您可以使用wildcards允许任何列表.List>announces;你也可以考

java - 'list of cherry cokes' 是 'list of cokes' 吗?

我收到“类型不匹配:无法从List转换为List>”看起来“樱桃可乐列表”不是“可乐列表”。这是违反直觉的。如果它必须是List>,我怎么能创建那个'xs'呢?我必须有一个Coke的子类?classTaste{}classCherryextendsTaste{}abstractclassCoke{}classCherryCokeextendsCoke{}classx{voiddrink(){List>xs=Arrays.asList(newCherryCoke());}} 最佳答案 你是对的-“可乐列表”不是“樱桃可乐列表”-但“延

java - 通过 hashmap 循环将相同键的值分组为 <key, list<values>> 对

我一直在努力想出一种方法来创建一个HashMap,该HashMap将具有相同键的值分组(到列表中)。这就是我的意思:假设我有以下键和值:ValueKey*SorryIgotthecolumnsswapped110111112220330331我想把这些值放到一个Hashmap>因此它将值分组到具有相同键的列表整数中,如下所示:(1,{10,11,12}),(2,{20}),(3,{30,31})现在键和值存储在一个Hashmap我不知道如何循环遍历此Hashmap以使用键:值列表对创建新的Hashmap。有人对此主题有好的方法吗? 最佳答案