Java数据结构来存储表格数据

时间:2018-07-03 22:34:02

标签: java twitter4j

我正在用Java解析推文,并希望将数据存储到DB,但是我正在寻找一个Java数据结构,该结构可以存储所有检索到的推文,以便以后可以将它们插入DB表中。

我想要的表格是:

|---user---||---tweet---||---date---|

我唯一想到的是开设课程Row

public class Row {

private String user;
private String tweet;
private Date created;

public Row(String user, String tweet, Date created) {
    this.user = user;
    this.tweet = tweet;
    this.created = created;
}

public String getUser() {
    return user;
}

public void setUser(String user) {
    this.user = user;
}

public String getTweet() {
    return tweet;
}

public void setTweet(String tweet) {
    this.tweet = tweet;
}

public Date getCreated() {
    return created;
}

public void setCreated(Date created) {
    this.created = created;
}

}

并实例化一个Row对象,以使用set()方法存储每个tweet,并使用get()方法检索数据。

任何技巧都值得赞赏,在python中使用几年后再次切换到Java,与心爱的熊猫相比,这些任务似乎并不直观:)

2 个答案:

答案 0 :(得分:2)

使用带有tweet对象的列表,然后您可以从列表中添加和查询以查找需要插入到数据库中的tweet。或者,您可以将地图与[key:value]

一起使用

key =用户名/电子邮件,时间 值=鸣叫字符串

答案 1 :(得分:0)

供以后参考,这是我的解决方案,结合原始问题中的Row类定义:

    public static List<Row> searchTweets() throws TwitterException{

    Twitter twitter = GetTwitterInstance();

    Query query = new Query("something");
    QueryResult result = twitter.search(query);
    List<Status> statuses = result.getTweets();
    List<Row> table = new ArrayList<Row>();

    for(Status tweet: statuses){

        Row row = new Row();
        row.setUser(tweet.getUser().getScreenName());
        row.setTweet(tweet.getText());
        row.setCreated(tweet.getCreatedAt());
        table.add(row);
    }
    return table;
}