簡體   English   中英

如何將信息添加到arraylist中的現有元素?

[英]How can I add an information to an existing element in an arraylist?

對這段代碼有疑問。 如何將信息添加到現有元素? 例如,在一開始,機器要求用戶輸入名稱。 如果我給名字“ Harry”,機器將只說“學生姓名正確”,但我也想查看該學生的年齡以及一般情況下的一些信息。 所以我的問題是如何為每個學生添加信息? 到目前為止,這是我的代碼。 提前致謝!

package test;

import java.util.*;

public class readStudents {
    public static void main(String []args) {




        ArrayList<String> arrlstStr = new ArrayList<String>(); //Declaring ArrayList

        arrlstStr.add("Malte");
        arrlstStr.add("Timo");
        arrlstStr.add("Harry");
        arrlstStr.add("Julian");
        arrlstStr.add("Musa");
        arrlstStr.add("Mirnes");
        arrlstStr.add("Daniel");
        arrlstStr.add("David");
        arrlstStr.add("Nico");
        arrlstStr.add("Ranya");
        arrlstStr.add("Xuan");
        arrlstStr.add("Sören");
        arrlstStr.add("Mark");
        arrlstStr.add("Salomon");
        arrlstStr.add("Leon");
        arrlstStr.add("Niklas");
        arrlstStr.add("Tobias");

        System.out.println("Enter the name of the student: ");
        Scanner scanner = new Scanner(System.in);
        String student = scanner.nextLine();

        if (arrlstStr.contains(student)) {
            System.out.println("This student name is correct");
        }
        else { 
            System.out.println("You gave a wrong name");
        }
    }
}
public class Student {
 private String name;
 private int age;

// other fields with getter and setter
}

public class StudentFields {

public static void main(String []args){
 ArrayList<Student> arrlstStr = new ArrayList<Student>(); //Declaring ArrayList
Student s1 = new Student();
s1.setName("R1");
s1.setAge(20);

    arrlstStr.add(s1);
    arrlstStr.add(s2);
}
}

一個很簡單的事情:)

您將與我同意,數組列表是元素列表的集合。 在您的情況下,此元素是預定義的。 我的建議是,您還必須定義任何元素想要的信息。 例如; 學生姓名“哈里”應該有一條相應的信息,例如年齡指向它; 學生年齡; 例如Harry_age設置為“ 34”。 像這樣的東西:

arrlstStr.add(“ Harry”) ;

arrlstStr.add(“ Harry_age”)

給元素賦值

哈里奇年齡= 34;

上圖是指導您。 定義完后,請使用if語句。 偽代碼是; 如果學生的名字是“哈利” 然后 顯示 34(哈利的年齡)

這應該工作。 只是簡單的邏輯。

根據您的要求,我建議使用map而不是Array list並將學生姓名作為鍵並將學生對象保留為值,以便基於姓名可以獲取學生信息。

public class Student {
 private String name;
 private int age;

 public Student(String name,int age)
 {
     this.name=name;
     this.age=age;
 }

 public String getName() {
    return name;
 }

 public int getAge() {
    return age;
 }

}

public class StudentData {

public static void main(String []args){
Map<String,Student> studentCollection=new HashMap<String,Student>();
Student student = new Student("Sachin",40);
studentCollection.put(student.getName(),student);
.
.


}

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM