Java中从表生成嵌套数据结构的算法

Java中从表生成嵌套数据结构的算法,java,Java,在我的数据库中有一个表,如下所示。现在,我想制作一个嵌套的数据结构,通过一个算法在视图上绘制,以将数据从表传输到此表 Tables -> Seats -> Rounds -> Dish_names Note that -> stands for 'contain' 任何人都可以在Java中找到一种干净的方法来实现这一点。谢谢 不确定您到底想要什么,但是如果您想要一个嵌套的Java对象(实体)对应于表,请继续阅读: 由于表格包含座位包含轮次包含菜名,因此从最里面的实体(

在我的数据库中有一个表,如下所示。现在,我想制作一个嵌套的数据结构,通过一个算法在视图上绘制,以将数据从表传输到此表

Tables -> Seats -> Rounds -> Dish_names

Note that -> stands for 'contain'
任何人都可以在Java中找到一种干净的方法来实现这一点。谢谢


不确定您到底想要什么,但是如果您想要一个嵌套的Java对象(实体)对应于表,请继续阅读:

由于表格包含座位包含轮次包含菜名,因此从最里面的实体(菜)开始:

您的
Round
s包含
Dish
es

 Public class Round{
      private int id; // an id  
      private List<Dish> dishes;
      // getters and setters
    }
最后,您的
s包含
座位
s

 Public class Table{
      private int id; //  
      private List<Seat> seats;
      // getters and setters
    }
公共类表{
私有int-id;//
非公开名单席位;
//接球手和接球手
}

您提到的类结构

class Table
    List<Seat> seats = ArrayList<>();

class Seat
    List<Round> rounds = ArrayList<>();

class Round
    List<Seat> seats = ArrayList<>();

class Dish

方法
putIfAbsent
自Java8以来就存在。在早期的java中,您可以
获取
,并且只有当它不存在时才能
放置
一个新表。

是的,这些是实体,但我需要从表中填写数据
 Public class Table{
      private int id; //  
      private List<Seat> seats;
      // getters and setters
    }
class Table
    List<Seat> seats = ArrayList<>();

class Seat
    List<Round> rounds = ArrayList<>();

class Round
    List<Seat> seats = ArrayList<>();

class Dish
public class Table {
    public final int id;
    public final List<Seat> seats = ArrayList<>();

    public Table(int id) {
        this.id = id;
    }
}
Map<Integer, Table> tablesById = new HashMap<>();
Map<Integer, Seat> seatsById = new HashMap<>();
Map<Integer, Round> roundsById = new HashMap<>();
Map<String, Dish> dishesByName = new HashMap<>();
Table table = new Table(resultSet.getInt("Table"));
table = tablesById.putIfAbsent(table.id, table);
// Now table is a maybe already existing table of the map.

Seat seat = new Table(resultSet.getInt("Seat"));
seat = seatsById.putIfAbsent(seat.id, seat);
table.seats.add(seat);

...