gpt4 book ai didi

java - 如何比较存储在数组列表中的两个原始整数类型?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:51:29 26 4
gpt4 key购买 nike

尝试从用户那里获取输入。用户无法计算输入的长度。所以我使用 ArrayList 添加来自扫描仪的输入。之后,我通常会尝试比较原始整数 ArrayList 的内容。使用 get(int index) 返回错误:

package BubbleSort;

import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;

public class BubbleSort {

public static ArrayList swap(ArrayList x, int i, int j) {
Collections.swap(x, i, j);
return x;
}

public static void main(String args[]) {

List a = new ArrayList();
Scanner sc = new Scanner(System.in);
a.add(sc.nextInt());

int x = a.size() - 1;
boolean unsorted = true;
while (unsorted) {
unsorted = false;
for (int i = 0; i < x; i++) {

if (a.get(i) > a.get(i + 1)) { // <===== Error
BubbleSort.swap(a, i, i + 1);
unsorted = true;
}

}
x--; // Space utilization
}
System.out.println(Arrays.toString(a));

}

}

错误:

The operator > is undefined for the argument type(s) java.lang.Object, java.lang.Object

如何像在数组中那样比较整数?

最佳答案

你应该试试这个:

public static ArrayList swap(ArrayList<Integer> x, int i, int j) {
Collections.swap(x, i, j);
return x;
}

public static void main(String args[])
{
ArrayList<Integer> a = new ArrayList<Integer>();
Scanner sc = new Scanner(System.in);
a.add(sc.nextInt());

int x = a.size() - 1;
boolean unsorted = true;
while (unsorted) {
unsorted = false;
for (int i = 0; i < x; i++) {

if (a.get(i) > a.get(i + 1)) { // <===== Error
BubbleSort.swap(a, i, i + 1);
unsorted = true;
}

}
x--; // Space utilization
}
System.out.println(a.toString());
}
  1. 您使用了 >具有两个对象的运算符,即 a.get(i)a.get(i + 1) .在 Java 中,您只能将此运算符用于数字数据类型。通过使用泛型 <Integer> ,您基本上指定每个元素都是整数类型。

  2. Arrays 中没有方法类名为 toString(List) .但是,您可以使用 toString()所有对象的方法,如 a.toString()

关于java - 如何比较存储在数组列表中的两个原始整数类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49622715/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com