jjzjj

arrayList

全部标签

java - 在 Java 中使用 retainAll 获取多个列表的交集

我在获取Java上多个列表的交集时遇到了麻烦。我正在做的是:我得到(比方说)3个整数列表:列表1:[2,2,2,2,5,5]列表2:[2,2,103]列表3:[2,431]我将retainAll应用到使用每个剩余列表的第一个:list1.retainAll(list2);list1.retainAll(list3);我得到了这个结果:列表1:[2,2,2,2]但我希望得到这个:列表1:[2]...因为所有列表共享的唯一元素是一个2而不是四个2。我知道这可能是retainAll函数的预期行为,但我需要获得上面提到的结果。有什么帮助吗?编辑:使用HashSet来禁止重复项也无济于事。在这种

java - 泛型中原始类型和 <?> 的区别

可能在某处问过,但我找不到。请告诉我两者之间的确切区别:ArrayListlist=newArrayList();和ArrayListlist=newArrayList();我无法弄清楚这两者之间的确切区别是什么。谢谢... 最佳答案 ArrayList仅表示“任何类型”。换句话说,任何类型的ArrayList可以分配给这样的变量。那可能是ArrayList,ArrayList或其他任何东西。单独使用通配符,不使用关键字super(后跟类型),意味着您不能向定义为ArrayList的列表ADD任何内容。.ArrayList然而,单独

java - 一个 ArrayList 中的多个对象类型

我有一个名为User的抽象类,可以将用户创建为Student类型或Teacher类型。我已经制作了一个用户(学生和教师)的ArrayList,我想做的是根据当前对象是什么实例来调用方法示例:for(Useruser:listOfUsers){Stringname=user.getName();if(userinstanceofStudent){//callgetGrade();}else{//itisaninstanceofaTeacher//callgetSubject();}}我遇到的问题是因为它是一个User对象的ArrayList,它不能获取Student类型的方法,例如get

java - 列表<interfaceI> 与列表<?在 java 中扩展 InterfaceI>

数组列表List和List两者都将具有实现interfaceI的类的对象。那什么时候用呢? 最佳答案 假设Foo和Bar是实现InterfaceI的两个类.第二个(List)不允许向列表中添加任何内容(null除外),因为列表包含的类型是未知的:它可能是List或List:你只是不知道。因此,当您希望该方法读取作为参数传递的列表的元素,并希望调用者能够使用List,一个List或List.使用List作为参数只接受List类型的列表.让我们举一个具体的例子:你想计算一个数字列表的最大double值。这种方法不需要向列表添加或设置任何

java - 使用java在同一程序中的升序和降序

我想根据id和标记对对数据进行排序。ID应按升序排列,标记应按降序排列,这是我的代码:ArrayListal=newArrayList();al.add(newStudent(1,"dg",58));al.add(newStudent(2,"dg",48));al.add(newStudent(1,"dg",98));al.add(newStudent(2,"dg",68));al.add(newStudent(1,"dg",38));al.add(newStudent(2,"dg",28));al.add(newStudent(2,"dg",90));输出如下:1dg981dg581

java - 从另一个列表初始化列表的一行

我想以最短的方式初始化我的Dto列表。现在我正在使用:publicListitemsToDto(Listitems){ListitemsDto=newArrayList();for(SomeItemitem:items){itemsDto.add(itemToDto(item));}returnitemsDto;}有什么方法可以让它成为单行的吗? 最佳答案 您可以使用stream并进一步mapping作为:returnitems.stream().map(item->itemToDto(item))//mapSomeItemtoSo

java - 如何实例化一个 ArrayList<?> 并通过 Java 反射添加一个项目?

我正在编写一个将xml转换为Java对象的反序列化方法。我想动态地执行此操作并避免编写对特定类型的硬编码引用。例如,这是我的一个类(class)的简化版本。publicclassMyObject{publicArrayListSubObjects=newArrayList();}这是该方法的精简版:publicclassSerializer{publicstaticTfromXml(Stringxml,Classc){Tobj=c.newInstance();Fieldfield=obj.getClass().getField("SubObjects");//help:createin

java - Array 和 ArrayList 获取素数有什么区别?

我正在解决关于素数的问题,我找到了使用数组的解决方案,但我想使用数组列表来解决一些问题,其中之一就是很好地理解数组列表。但是我发现当我使用arraylist时结果不一样,这里有2个代码://使用数组importjava.util.Arrays;publicclassPrime{publicstaticvoidmain(String[]args){primeNumber(100);}publicstaticvoidprimeNumber(intend){booleanprimeNumbers[]=newboolean[end];for(inti=0;i//使用ArrayListimpor

java - 如何在java中为ArrayList添加监听器

我想在java中创建自己的ArrayList实现,它可以在列表发生变化时进行监听,并在发生这种情况时采取行动。据我所读,我明白我不能扩展ArrayList然后添加监听器。我想在类中使用MyList作为带有public修饰符的变量,这样用户可以直接更改它并在他更改它时完成操作。classMyListextendsArrayList....{...}classUseOfMyList{publicMyListplaces=newMyList();places.add("BuenosAires");//andtobeabletodothatListcities=newArrayList();c

java - 字符串列表中单词的频率

我有一个字符串列表:Listterms=["Codingisgreat","SearchEnginesaregreat","Googleisanicesearchengine"]如何获取列表中每个单词的出现频率:例如{编码:1,搜索:2,引擎:1,引擎:1,....}这是我的代码:MapwordFreqMap=newHashMap();for(StringcontextTerm:term.getContexTerms()){String[]wordsArr=contextTerm.split("");for(Stringword:wordsArr){Integerfreq=wordFr