5

所以这是我的程序:

创建一个仅包含字符串的 ArrayList 按顺序将以下内容添加到列表中

  • 玛丽
  • 约翰
  • 马亨德拉
  • 萨拉
  • 何塞
  • 朱迪

使用增强的 for 循环打印列表 在 Mahendra 前面和 John 之后插入 Harry 然后从列表中删除位置 4

这是我写的:

import java.util.ArrayList;
import java.util.Scanner;

public class Name {
    public static void main(String[] args) {
        ArrayList<String> names = new ArrayList<String>();
        Scanner input = new Scanner(System.in);
        names.add(input.nextLine());
        names.add(input.nextLine());
        names.add(input.nextLine());
        names.add(input.nextLine());
        names.add(input.nextLine());
        names.add(input.nextLine());
        names.add(input.nextLine());

        for (String n : names) {
        System.out.println(n);
        }
    }
}

我想我在添加和删除时遇到问题。我相信其他一切都应该没问题。

4

2 回答 2

1

您可能希望使用以下方法来插入和删除:

void    add(int index, E element)
 E      remove(int index)

egMahendra在索引2(索引从0开始),然后添加Harry在前面Mahendra,只需执行以下操作:

  names.add(2, "Harry"); //This will push Mahendra at index 3

要删除当前索引 4,

  names.remove(4);

要删除以前的索引 4,现在已成为索引 5,

  names.remove(5);
于 2012-11-02T03:19:53.440 回答
1

indexOf() 将让您找到给定条目的位置, add(index, object) 将让您在索引处插入。

public static void main(String[] args) {
    List<String> names = new ArrayList<String>();

    names.add("Mary");
    names.add("John");
    names.add("Mahendra");
    names.add("Sara");
    names.add("Jose");
    names.add("Judy");

    names.add(names.indexOf("Mahendra"), "Harry");

    for (String name : names) {
        System.out.println(name);
    }
}
于 2012-11-02T03:27:53.237 回答