Java 修改数组列表中元素的方法?
我的一个朋友让我给他举一个例子,告诉他如何创建数组列表,以及如何添加、显示、删除和修改它。我已经为所有内容创建了方法,除了modify,还有其他一些帮助吗Java 修改数组列表中元素的方法?,java,arrays,list,methods,Java,Arrays,List,Methods,我的一个朋友让我给他举一个例子,告诉他如何创建数组列表,以及如何添加、显示、删除和修改它。我已经为所有内容创建了方法,除了modify,还有其他一些帮助吗 public class Manager { private static ArrayList<String> list = new ArrayList<String>(); private static BPScanner kb = new BPScanner(); private stati
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(){
}
}
公共类管理器{
私有静态ArrayList=新ArrayList();
私有静态BPScanner kb=新BPScanner();
私有静态字符串名;
公共静态void main(字符串[]args){
while(true){
String input=kb.getMenuStringFromUser(“列表管理器”、“添加”、“删除”、“修改”,
“显示”、“退出”);
if(input.equals(“Quit”))
打破
if(输入等于(“添加”)){
添加();
}else if(input.equals(“Display”)){
显示();
}else if(input.equals(“Delete”)){
删除();
}
}
}
公共静态void add(){
做{
name=kb.getStringFromUser(“输入名称:”);
}而(!isAlpha(name));
列表。添加(名称);
}
私有静态布尔值isAlpha(字符串名称){
字符c;
对于(inti=0;i,下面的代码显示了如何在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));
}
}
import java.util.ArrayList;
公共类RemoveElementFromArrayListExample{
公共静态void main(字符串[]args){
//创建ArrayList对象
ArrayList ArrayList=新的ArrayList();
//向Arraylist添加元素
arrayList.添加(“1”);
arrayList.添加(“2”);
arrayList.添加(“3”);
/*
要从ArrayList的指定索引中删除元素,请使用
对象移除(int索引)方法。
它返回从ArrayList中删除的元素。
*/
Object obj=arrayList.remove(1);
System.out.println(从ArrayList中删除obj+);
System.out.println(“ArrayList包含…”);
//ArrayList的显示元素
对于(int index=0;index
只需传递一个索引参数。然后使用该索引修改位置索引上的元素。为了更改列表中的某个值,可以使用list.set(index,element);
(在您的情况下,元素为string)函数
public static void modify(int index)
{
string nextName = kb.getStringFromUser("Enter name: ");
list.set(index, nextName);
}
让我们将修改函数定义为
public static void modify(String toModify, String modifyAs) {
int pos = ar.indexOf(toModify);
ar.set(pos, modifyAs);
}
toModify
是一个变量,用于保存要修改的项,modifyAs
用于保存要添加的新项
用指定的元素替换此列表中指定位置的元素(可选操作)。
参数:
index-要替换的元素的索引
元素-要存储在指定位置的元素
list.set(your_index,element);
对于您提到的关于不显示整个列表的问题,请尝试以下操作:从循环中删除任何内容并将其放入:System.out.println(list.get(i));
我知道我的问题是如何修改数组中的元素,如say change ben to ben?您可以替换元素,checkoutset(int index,E element)
在列表界面。如果您得到所需的输出,请接受答案。
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);
}
}