创建仅包含字符串的ArrayList。使用增强的for循环打印

时间:2012-11-02 03:15:58

标签: java string for-loop arraylist

所以这是我的计划:

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

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

使用增强型for循环打印列表 把哈利插在马亨德拉面前和约翰之后 然后从列表中删除位置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);
        }
    }
}

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

2 个答案:

答案 0 :(得分:1)

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

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

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

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

删除crrent索引4,

  names.remove(4);

要删除之前已成为索引5的上一个索引4,

  names.remove(5);

答案 1 :(得分: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);
    }
}