草庐IT

java - 在 Java 8 中对两个 ArrayList 进行乘法和求和

我有两个ArrayList,分别命名为A和B,它们大小相等,包含一些数字。现在我想这样计算:intsum=0;for(inti=0;i如何在不使用任何额外的用户定义方法的情况下,通过使用Java8功能(流、lambda表达式等)来实现我上面所做的计算总和? 最佳答案 intsum=IntStream.range(0,min(a.size(),b.size()).map(i->a.get(i)*b.get(i)).sum(); 关于java-在Java8中对两个ArrayList进行乘法和

java - 如何在 Java 中使用 lambda 函数对每列和每行的列表列表求和?

我有一个这样的列表列表:List>listOfLists=newArrayList();classWrapper{privateintvalue=0;publicintgetValue(){returnvalue;}}看起来像这样:[[Wrapper(3),Wrapper(4),Wrapper(5)],[Wrapper(1),Wrapper(2),Wrapper(9)],[Wrapper(4),Wrapper(10),Wrapper(11)],]在Java8中使用lambda函数是否有一种简洁的方法来展平这个列表列表:(percolumn):[Wrapper(8),Wrapper(16

java - “finally” block 对 “try” block 的返回值的影响

Thisquestionalreadyhasanswershere:Whydoeschangingthereturnedvariableinafinallyblocknotchangethereturnvalue?(7个答案)7年前关闭。我正在阅读此question,并且得到了以下代码片段:publicvoidtestFinally(){System.out.println(setOne().toString());}protectedStringBuildersetOne(){StringBuilderbuilder=newStringBuilder();try{builder.ap

java - 对集合中的所有偶数进行升序排序,然后对所有奇数进行降序排序

这是一道面试题。给出了一些随机数(假设是整数数组)。我们如何才能先对所有偶数进行升序排序,然后对所有奇数进行降序排序。哪个系列最适合。输入数字:1267134978631保存在集合中的输出:6123478673191 最佳答案 任何支持使用自定义比较器排序的集合都可以-甚至是数组。按如下方式实现您的自定义比较器:publicintcompare(intx,inty){if(x&1==y&1){//Bothnumbersareoddorbothnumbersareevenif(x&1==0){//Bothnumbersareeven:

java - 我应该对不可变类的突变尝试抛出异常吗?如果是这样,哪个异常(exception)?

我想在开发人员试图改变不可变对象(immutable对象)时提醒他。不可变对象(immutable对象)实际上是可变对象的扩展,并覆盖了该对象上的setter以使其不可变。可rebase类:Vector3publicclassVector3{publicstaticfinalVector3Zero=newImmutableVector3(0,0,0);privatefloatx;privatefloaty;privatefloatz;publicVector3(floatx,floaty,floatz){this.x=x;this.y=y;this.z=z;}publicvoidset

java - 在Java中对二维字符串数组进行排序

我知道以前可能有人问过这个问题,但我找不到合适的答案。所以说我有这个数组:String[][]theArray={{"james","30.0"},{"joyce","35.0"},{"frank","3.0"},{"zach","34.0"}};有没有办法通过每个子元素的第二个元素对这个数组进行降序排序。所以我会得到这样的东西。theArray={{"joyce","35.0"},{"zach","34.0"},{"james","30.0"},{"frank","3.0"}}; 最佳答案 使用Arrays.sort(arr,co

java - 根据运行时属性对对象列表进行排序

我有一个ValueObjects的List[画外音]。这些对象有很多属性和相应的获取/设置方法。我想根据我将在运行时获得的属性对这个List进行排序。让我详细解释一下...我的语音是这样的:publicclassEmployee{Stringname;Stringid;privateStringgetName(){returnname;}privateStringgetId(){returnid;}}我将在运行时得到一个字符串sortType,它可以是"id"或"name"。我想根据String的值对列表进行排序。我曾尝试同时使用Comparator和反射,但没有成功。可能是我没有正确

java - 在Java中以反向字母顺序对字符串数组进行排序

我的任务是将此代码转换为反向排序,但我终究无法弄清楚如何去做。这些是我的排序、查找最大和交换方法。我觉得我在这里遗漏了一些明显的东西,非常感谢任何帮助。publicstaticvoidsort(String[]arr){for(intpass=1;pass0){largestPos=i;}}returnlargestPos;}publicstaticvoidswap(String[]arr,intfirst,intsecond){Stringtemp=arr[first];arr[first]=arr[second];arr[second]=temp;}}

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

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

java - 对字符串的迭代器进行排序

我有一个字符串迭代器。为了排序,我需要从中创建一个列表并使用Collections.sort(list)对其进行排序。有什么简单的方法可以对迭代器进行排序。 最佳答案 迭代器不是容器,它是一种遍历容器元素的实用程序。因此,如果您只能访问迭代器,则无法更改迭代器的创建者定义的迭代顺序。如果您无法更改原始容器,则必须将迭代器传递的元素收集到一个新的集合中,并在其中对它们进行排序。(了解迭代器的可能性的一个好方法是查看JDK类的源代码或实现自己的迭代器) 关于java-对字符串的迭代器进行排序