检查数组列表中的值

时间:2017-03-20 18:35:28

标签: java arraylist

我在插入排序上做了一个项目,并且我已经启动了这个项目,没有关于数组列表的任何经验我在检查特定索引中的值时遇到错误。

int unsorted[] = {10, 4, 52, 5, 7};
    ArrayList sorted = new ArrayList<Integer>();

    sorted.add(unsorted[0]);

    for (int i=1; i <= unsorted.length; i++){
        int x=0;
        while (unsorted[i] > sorted(x)){
            x++;
            if (unsorted[i]<= sorted(x)){
                sorted.set(x,unsorted[i]);
            if (x > sorted.size()){
                sorted.add(unsorted[i]);

我在示例中遇到sorted(x)的错误,有人能告诉我如何在特定索引处检查数组列表中的值吗?

5 个答案:

答案 0 :(得分:1)

获取List的元素是通过get()方法完成的,您可以在@BilltheLizard已链接到的官方Java Doc中查找:

https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html

使用您已经完成的set()方法设置元素。

基本上,对象总是有操作它的方法。

答案 1 :(得分:1)

如果您想按插入排序排序,可以尝试使用此代码。

int unsorted[]={1,5,2,7,3};
    for (int i = 1; i < unsorted.length; i++) {
        int key=unsorted[i];
        int j=i-1;
        while((j > -1) && ( unsorted [j] > key )){
            unsorted [j+1] = unsorted [j];
            j--;
        }
        unsorted[j+1]=key;

    }

    for (int x = 0; x < unsorted.length; x++) {
        System.out.print(unsorted[x] + ", ");
    }
    System.out.println("\n");

答案 2 :(得分:0)

您正在寻找sorted.get(index)

答案 3 :(得分:0)

应使用正确的方法从Workbooks("VBA Practice Workbook.xls").Sheets("Sheet1").Cells(I, 6).Value = _ Application.WorksheetFunction.Sum(Workbooks(file).Sheets("Scoring (pg 2)").Range("B6:B14")) Workbooks("VBA Practice Workbook.xlsm").Sheets("Sheet1").Cells(I, 7).Value = _ Application.WorksheetFunction.Sum(Workbooks(file).Sheets("Scoring (pg 2)").Range("C6:C14")) (以及结果中的ArrayList)获取项目来避免编译错误:get()

数组和.xls都有索引从0开始,而不是1。 当索引等于数组的长度或.xlsm时,您应该收到错误,因此List应该触发错误。

恕我直言,你的第一个循环应该是

ArrayList

另请注意,您可以使用add()方法而不是ArrayList来插入项目。

答案 4 :(得分:0)

感谢您的所有建议!大多数人建议我使用.get但是在使用它时我遇到了错误。事实证明我没有定义ArrayList将保持的类型,因此我无法使用.get。我通过添加ArrayList<Integer> sorted = new ArrayList<Integer>();修复此问题 和 if (unsorted[i]<= sorted.get(x)){