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);
...