我正在用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,与心爱的熊猫相比,这些任务似乎并不直观:)
答案 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;
}