当前位置: 首页 > 知识库问答 >
问题:

如何比较两个数组,得到最低的一个,然后加零

黄鸣
2023-03-14

我是java新手,我创建了两个arraylists,然后在while循环中向用户请求一个数字,一旦我从第1点和第2点获得了所需数量的数字。我将arrayllists转换为数组。我需要比较两个点阵,然后将最低点的缺失数字设置为零。例如

  • 点1=(12,123,123,435,6756,667)//6个数字
  • 点 2=(23,13,35)//3 个数字
  • 点 3=(23,13,35,0,0,0)//新数组替换点 2 并添加零
  • -

我不知道如何比较这两个数组并将零添加到最低的数组。任何帮助都将不胜感激。

我的3个主要对象

Point2 point1 = new Point2();
Point2 point2 = new Point2(); 
Point2 point3 = new Point2();

我把数组列表转换成数组的方式

Double dimPt1[] = new Double[ dimList1.size() ];
dimList1.toArray(dimPt1);
point1 = new Point2(dimPt1);

主要的

if (point1.length > point2.length)
      {

      }
      else if (point2.length > point1.lenght)
      {

      }
      else
      {
      System.out.print("Point 1 : ");
      point1.printPoints();
      System.out.print("Point 2 : ");
      point2.printPoints();
      }

共有3个答案

庾波光
2023-03-14

我不太明白你的meaning.whatponit1和point 2和point 3有什么关系?

巩子实
2023-03-14

处理ArrayList比处理常规数组效率更高。

请参阅此代码:

public static void main(String[] args) {

    if(list1.size() < list2.size()) {
        fillZeros(list1, list2.size());
    } else {
        fillZeros(list2, list1.size());
    }
}

private static void fillZeros(ArrayList list, int size) {
    int zerosToAdd = size - list.size();
    for (int i = 0; i < zerosToAdd; i++) {
        list.add(0);
    }
}

然后转换结果数组列表(如果需要)

包德业
2023-03-14

Java,您不能操作数组的大小。因此,您应该在转换为数组之前更改ArrayList

int size1 = dimList1.size();
int size2 = dimList2.size();
int maxSize = Math.max(size1, size2);
if (size1 < maxSize) {
    fillZeros(dimList1, maxSize);
} else {
    fillZeros(dimList2, maxSize);
}


private void fillZeros(ArrayList<Double> list, int maxSize) {
    for(int i = list.size(); i < maxSize; i++) {
        list.add(0.0D);
    }
}
 类似资料:
  • 我在做一个简单的乐透游戏。如果我猜对了数字,我仍然会得到输掉的结果,除非它是我猜到的最后一个数字。如何将与输入的所有数字进行比较?

  • 问题内容: 我有这个间隔,当前每5秒执行一次ajax请求。我对声明有疑问。我的代码总是输入它,并且两个json值完全相同,为什么它认为它们不同? 编辑 这是控制台输出(虚线是分隔请求,它不在实际输出中) 问题答案: 不能保证以相同的方式序列化JSON对象,也不能保证属性以相同的顺序进行序列化,使用并不是测试对象相等性的好方法。 一个更好的例子是这样的函数(前一段时间在互联网上找到,希望我能感谢原始

  • 我有一个简单的javascript问题,我真的需要一些帮助!我正在尝试弄清楚如何在数组之间比较元素,以及在下一个循环中再次比较较大的元素。假设我们有数组A和数组B。 我的问题是,在比较索引处的元素之后,我希望在下一个循环周期中比较较大的元素。 如果A=[5,7,4],B=[2,8,5] 在第一个循环中,5与2进行比较,2较小,因此会发生一些事情。在下一个循环周期中,我希望5与8进行比较,而对于现在

  • 问题内容: 我必须比较两个对象(不是)。比较它们的规范方法是什么? 我可以想到: 该运营商只比较基准,因此这将仅适用于较低的整数值的工作。但是也许自动装箱开始了…? 这看起来像一个昂贵的操作。是否以此方式计算出哈希码? 有点冗长… 编辑: 谢谢您的答复。尽管我现在知道该怎么办,但事实已分布在所有现有答案(甚至是已删除的答案)上,我也不知道该接受哪个答案。因此,我将接受最佳答案,即所有三种比较可能性

  • 问题内容: 我试图获得两个计数,然后将这两个计数相除,以得出我所计数的项目的比率。我在这里看到了这篇文章,并尝试了。我的结果出现错误,没有错误消息,只是错误的数字。我正在使用SQL Server 2008 这是我的代码: 计数正确产生并显示,但是对于比率,我为0,并且不确定为什么会得到此值。 谢谢你, 问题答案: 使用 SQL Server认为A.NUM / A.DENOM是int,因为A.NUM

  • 问题内容: 我有两个。每个大小为100000。我想比较它们并计算匹配的元素。 这是我的代码: 在这里比较过程要花费很多时间。 如何解决和优化此问题。 问题答案: 您应该使用:返回一个包含collection1中所有元素的集合,这些元素也处于collection2中。