修改数组列表中元素的方法?

时间:2014-05-06 06:26:14

标签: java arrays list methods

我的一个朋友让我给他一个如何创建数组列表以及添加,显示,删除和修改数据列表的示例我已经为除了修改之外的所有内容制定了方法以便提供帮助吗? / p>

public class Manager {
    private static ArrayList<String> list = new ArrayList<String>();
    private static BPScanner kb = new BPScanner();
    private static String name;
    public static void main(String[] args) {
        while (true) {
            String input = kb.getMenuStringFromUser("List Manager","Add", "Delete", "Modify", 
                    "Display", "Quit");
            if (input.equals("Quit"))
                break;
            if (input.equals("Add")) {
                add();
            } else if (input.equals("Display")) {
                display();
            }else if(input.equals("Delete")){
                delete();
            }

        }
    }

    public static void add() {
        do{
            name= kb.getStringFromUser("Enter name: ");
        }while(!isAlpha(name));
        list.add(name);
    }

    private static boolean isAlpha(String name){
        char c;
        for(int i=0; i<name.length(); i++){
            c=name.charAt(i);
            if('A'<=c&&c<='Z'||'a'<=c&&c<='z'||c==' '){
            }else{
                return false;
            }
        }
        return true;
    }

    public static void display() {
        System.out.println("\nList:");
        for (int i=0; i < list.size(); i++) {
            kb.getStringFromUser(list.get(i));
            //System.out.println(name);
        }
        String input = kb.getStringFromUser("\nContinue (y/n)? ");
        if (input.startsWith("n")) System.exit(0);
    }

    public static void delete(){
        list.remove(name);
    }

    public static void modify(){

    }
}

我完全不知道要写什么来修改放入数组中的名字,所以任何想法?

5 个答案:

答案 0 :(得分:2)

让我们将修改功能定义为

public static void modify(String toModify, String modifyAs) {
    int pos = ar.indexOf(toModify);
    ar.set(pos, modifyAs);
}

toModify是变量保存要修改的项目,modifyAs保存要添加的新项目

答案 1 :(得分:1)

只需传递一个索引参数即可。比使用该索引修改位置索引上的元素。为了更改列表中的某个值,您可以使用list.set(index, element);(在您的情况下,元素是字符串)函数。

public static void modify(int index)
{
     string nextName = kb.getStringFromUser("Enter name: ");
     list.set(index, nextName);
}

答案 2 :(得分:0)

下面的代码显示了如何在arraylist中的特定位置添加,查看和删除元素。

import java.util.ArrayList;

public class RemoveElementFromArrayListExample {

  public static void main(String[] args) {
    //create an ArrayList object
    ArrayList arrayList = new ArrayList();

    //Add elements to Arraylist
    arrayList.add("1");
    arrayList.add("2");
    arrayList.add("3");

    /*
      To remove an element from the specified index of ArrayList use
      Object remove(int index) method.
      It returns the element that was removed from the ArrayList.
    */
    Object obj = arrayList.remove(1);
    System.out.println(obj + " is removed from ArrayList");

    System.out.println("ArrayList contains...");
    //display elements of ArrayList
    for(int index=0; index < arrayList.size(); index++)
      System.out.println(arrayList.get(index));

  }
}

答案 3 :(得分:0)

你可以使用java文档,

使用指定的元素替换此列表中指定位置的元素(可选操作)。

参数:

index - 要替换​​的元素的索引

element - 要存储在指定位置的元素

list.set(your_index,element);

答案 4 :(得分:0)

public static void modify() {
    String origName = kb.getStringFromUser("Which name do you want to modify: ");
    if (list.contains(origName)) {
        int index = list.indexOf(name);
        name = kb.getStringFromUser("Enter new name: ");
        list.set(index, name);
    }
}