Java 检查数组列表中的值

Java 检查数组列表中的值,java,arraylist,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;

我正在做一个关于插入排序的项目,我突然启动了这个项目,之前没有数组列表方面的经验,我在检查特定索引中的值时遇到了一个错误

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]);
int unsorted[]={10,4,52,5,7};
ArrayList sorted=新的ArrayList();
已排序。添加(未排序[0]);
对于(int i=1;i排序(x)){
x++;
if(未排序的[i]已排序的.size()){
已排序。添加(未排序[i]);

在示例中,有人能告诉我如何检查数组列表中特定索引处的值吗?

您要查找的是
sorted.get(index)
编译错误应该通过使用正确的方法从
列表
中获取项来避免(以及根据结果获取数组列表):

数组和
ArrayList
都有从0开始的索引,而不是从1开始的索引。 当索引等于数组长度或
ArrayList
时,应该会出现错误,因此
unsorted[unsorted.length]
应该会触发错误

我知道你的第一个循环应该是什么

for (int i=1; i < unsorted.length; i++){
for(int i=1;i

还请注意,您可以使用该方法而不是
集合
来插入项目。

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

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


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

如果你想按插入排序,你可以试试下面的代码

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");
int未排序[]={1,5,2,7,3};
for(int i=1;i-1)和&(未排序的[j]>键)){
未排序的[j+1]=未排序的[j];
j--;
}
未排序的[j+1]=键;
}
对于(int x=0;x
谢谢你的建议!大多数人都建议我使用.get,但我在使用它时遇到了一个错误。结果我没有定义ArrayList的类型,所以我无法使用。get。我通过添加
ArrayList sorted=new ArrayList();

if(unsorted[i]您应该首先查看的是官方的
ArrayList
文档。“我遇到了一个错误”什么错误???我想
unsorted[1]
是一个打字错误。错误消息是怎么说的?另外,您是从索引
1
开始的,而不是从
0
开始的。这是否正确?也许您可以放置所有代码。我试过了,但它只会导致更大的错误@Janus Varmarken
unsorted
是一个数组。也许您的意思是
sorted.get(x)
?是的,看起来是这样,但这并不明显,因为未排序的定义不存在。OP也可能来自一种具有下标语法的语言,例如swift。我真的不明白为什么会被否决…@shmosel,这就是我假设他meant@SpencerHopkins理想情况下,你应该发布一篇文章,这样我们就可以看到完整的上下文至少,我们需要看到变量声明和特定的错误消息。但事实上,这个问题不应该被公布,因为阅读文档或任何基本Java教程都可以避免这一切。unsorted是一个数组,sorted是一个数组列表,我在ha之前已经将unsorted 0添加到数组列表中ndoops很抱歉我的评论,我回答得太快了…但我认为您应该会遇到索引问题。我没有把它放进去,但我已经做了预防措施,但感谢inputno,因为如果您使用该循环,它将检查并添加数组中已经存在的值,因为我已经添加了未排序的[0]在排序数组列表中,从1开始就是这样的donethanks,我尝试过并得到一个错误,但可能我做得不对,我会检查链接