【问题标题】:How to reference ArrayList into a HashMap如何将 ArrayList 引用到 HashMap
【发布时间】:2017-12-05 10:54:56
【问题描述】:

我有一个 getCourses 的 ArrayList 和一个 ComboBox 的 HashMap:

public class QueryCourses {    
public static ArrayList<Courses> getCourses() throws ClassNotFoundException, SQLException {
    String queryCourses = "SELECT course_id, course_title FROM tblcourses";
    Connection conn = DbConnection.ConnectDB();
    Statement stmt = conn.createStatement();
    ResultSet rs;
    rs = stmt.executeQuery(queryCourses);
    ArrayList<Courses> courseList = new ArrayList<>();
    while (rs.next()) {            
        Courses crse = new Courses(rs.getInt("course_id"), rs.getString("course_title"));
        courseList.add(crse);
    }
    return courseList;
}

public HashMap<String, Integer> hashMap(){
    HashMap<String, Integer> map = new HashMap<>();
    final ComboBox<Courses> cmbCourse = new ComboBox(courseList.getItems());
    Connection conn = DbConnection.ConnectDB();

    try {
        Statement stmt = conn.createStatement();
        String qry = "SELECT `course_id`, `course_title` FROM `tblcourses`";
        ResultSet rs = stmt.executeQuery(qry);
        Courses crse;

        while (rs.next()) {                
            crse = new Courses(rs.getInt(1), rs.getString(2));
            cmbCourse.addItem(crse);
        }
    } catch (SQLException ex) {
        Logger.getLogger(NewStudentController.class.getName()).log(Level.SEVERE, null, ex);
    }

    return map;
}

}

我想将 ArrayList 引用到 ComboBox 的 HashMap 中,其中包含课程的 id 及其标题,但我不知道要引用 getCourses 还是 courseList。其中任何一个都给我一个错误,我错过了什么还是什么?然后这会将标题输出到 ComboBox 上,并可以返回用于数据库插入的键。

【问题讨论】:

  • getCourses 将返回一个 ArrayList,然后您可以从那里获取对象,然后获取其属性。到目前为止你是怎么做到的?

标签: java mysql javafx


【解决方案1】:

ArrayList 不能被 HashMap 引用。您需要遍历数组列表(来自 getCourses() )并将每个元素单独设置到地图。

类似:

for(Course crse : getCourses()){
  map.put(crse.getId(),crse.getTitle() );
}

【讨论】:

    猜你喜欢
    • 2019-09-13
    • 1970-01-01
    • 2013-05-06
    • 1970-01-01
    • 1970-01-01
    • 2014-10-17
    • 1970-01-01
    • 2011-04-18
    • 2017-08-14
    相关资源
    最近更新 更多