2012-11-02 79 views
5

因此,这里是我的程序:创建一个只包含字符串的ArrayList。打印使用增强的for循环

创建一个ArrayList,将只包含字符串 以下内容添加到列表中,以便

  • 玛丽
  • 约翰
  • 马亨德拉
  • Sara
  • Jose
  • Judy

打印使用增强的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); 
     } 
    } 
} 

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

+1

你甚至看过ArrayList的javadoc吗? – John3136

+1

不,但我每天都花4个小时在Google上搜索我能做的一切。我在开发环境中尝试了一堆东西,但并没有真正得到任何地方。 – RazaHuss

+1

那么看看javadoc也许会有所帮助。 – JimN

回答

1

您可能需要使用下面的方法来插入和删除:

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

例如Mahendra是在索引2(索引从0开始),然后加入HarryMahendra前面,只是做如下:

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

要删除crrent索引4,

names.remove(4); 

要除去以前的索引4,现在已经变成索引5了,

names.remove(5); 
+0

这有帮助。谢谢。 – RazaHuss

+0

@ user1793131:请不要忘记接受答案。 –

1

indexOf()会让你找到给定条目的位置,add(index,object)会让你插入at索引。

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); 
    } 
}