Java 在twitter4j中填充arraylist
我需要用在线推文来填充我的arraylist,而不是硬编码字符串。我使用的是twitter4j 3.0.3 我被这个项目难住了。既然是为了上学,我真的需要弄清楚。我是一个初学者程序员,我很困惑Java 在twitter4j中填充arraylist,java,twitter,arraylist,twitter4j,java-8,Java,Twitter,Arraylist,Twitter4j,Java 8,我需要用在线推文来填充我的arraylist,而不是硬编码字符串。我使用的是twitter4j 3.0.3 我被这个项目难住了。既然是为了上学,我真的需要弄清楚。我是一个初学者程序员,我很困惑 int numGood = 50; int numBad = 50; for (int i = 0; i < numGood; i++) { tweets.add("test"); } for (int i = 0; i < numBad; i++) {
int numGood = 50;
int numBad = 50;
for (int i = 0; i < numGood; i++) {
tweets.add("test");
}
for (int i = 0; i < numBad; i++) {
tweets.add("#bad");
}
}
ArrayList<String> tweets = new ArrayList<String>();
//create a function that counts the tweets
//that contain a certain hashtag
int countTweets(String hashtag){
int total = 0;
for(String tweet : tweets){
if(tweet.contains(hashtag)){
total++;
}
}
return total;
}
int numGood=50;
int numBad=50;
for(int i=0;i
完整版本:
ConfigurationBuilder cb = new ConfigurationBuilder();
Twitter twitterInstance;
Query queryForTwitter;
//ArrayList tweets;
void setup() {
cb.setOAuthConsumerKey("xxxx");
cb.setOAuthConsumerSecret("xxxx");
cb.setOAuthAccessToken("xxxx");
cb.setOAuthAccessTokenSecret("xxxx");
cb.setUseSSL(true);
size(640,440);
} //setup
//ArrayList<String> tweets = new ArrayList<String>();
public static void main (String args[]) throws TwitterException {
Twitter twitter = new TwitterFactory().getInstance();
List<Status> statuses = twitter.getUserTimeline("google");
String hashtag = "#AlphaGo";
System.out.println("The Twitter page contains "
+ countTweets(hashtag, statuses)
+ " tweets with the hashtag : " + hashtag);
}
public static int countTweets(String hashtag, List<Status> statuses){
return (int) statuses.stream()
.filter(x -> x.getText().contains(hashtag))
.count();
}
//create a function that counts the tweets
//that contain a certain hashtag
int countTweets(String hashtag){
int total = 0;
for(String tweet : tweets){
if(tweet.contains(hashtag)){
total++;
}
}
return total;
}
void draw(){
//count the good and bad tweets
int goodTweets = countTweets("#good");
int badTweets = countTweets("#bad");
//calculate color based on tweet counts
float r = badTweets/100.0 * 255;
float g = goodTweets/100.0 * 255;
float b = 0;
background(r, g, b);
}
ConfigurationBuilder cb=new ConfigurationBuilder();
推特推特实例;
查询查询功能;
//ArrayList推文;
无效设置(){
cb.setOAuthConsumerKey(“xxxx”);
cb.SetOAuthConsumerCret(“xxxx”);
cb.setOAuthAccessToken(“xxxx”);
cb.setOAuthAccessTokenSecret(“xxxx”);
cb.setusesl(真);
规模(640440);
}//设置
//ArrayList tweets=新建ArrayList();
公共静态void main(字符串args[])引发TwitterException{
Twitter=new TwitterFactory().getInstance();
列表状态=twitter.getUserTimeline(“谷歌”);
字符串hashtag=“#AlphaGo”;
System.out.println(“Twitter页面包含”
+countTweets(标签、状态)
+“带有标签的推文:”+标签);
}
公共静态int countTweets(字符串标签、列表状态){
返回(int)状态。stream()
.filter(x->x.getText().contains(hashtag))
.count();
}
//创建一个统计推文的函数
//包含某个hashtag的
int countTweets(字符串标签){
int-total=0;
用于(字符串tweet:tweets){
if(tweet.contains(hashtag)){
总计++;
}
}
返回总数;
}
作废提款(){
//数一数好的和坏的推特
int goodTweets=countTweets(#good”);
int badteets=countTweets(#bad”);
//基于tweet计数计算颜色
浮动r=badTweets/100.0*255;
float g=goodTweets/100.0*255;
浮动b=0;
背景(r、g、b);
}
编辑:我希望标签数据根据“好”和“坏”推文的数量,将背景颜色修改为介于红色和绿色之间的阴影。我喜欢把它想象成+100/-100光谱。每条好的推文都是+1,每条坏的推文都是-1。如果是-100条tweets,则椭圆为全红色。如果它在+100条tweets,则椭圆为全绿色
我知道这有点复杂,但这是我做的一个艺术项目。我遵循了一个教程,目前twitter数据在一个简单的tweet数组列表上响应(教程@),我正在使用processing、java、twitter4j 3.0.3和macbook pro以及OSX el capitan 10.11.3,这里是,使用
publicstaticvoidmain(字符串args[])引发TwitterException{
Twitter=new TwitterFactory().getInstance();
列表状态=twitter.getUserTimeline(“谷歌”);
字符串hashtag=“#AlphaGo”;
System.out.println(“Twitter页面包含”
+countTweets(标签、状态)
+“带有标签的推文:”+标签);
}
公共静态int countTweets(字符串标签、列表状态){
返回(int)状态。stream()
.filter(x->x.getText().contains(hashtag))
.count();
}
你忘了问问题了。@jb如果我提供的代码是硬编码字符串,我的问题是如何让代码从twitter中提取标签数据。谢谢你的回复!但是,我在集成它时遇到了问题。我取出旧的硬编码字符串并添加了您的代码。我把我的全部代码都放在了“完整版本”下,并在最下面添加了我的意图。希望这能让事情变得更清楚。
public static void main (String args[]) throws TwitterException {
Twitter twitter = new TwitterFactory().getInstance();
List<Status> statuses = twitter.getUserTimeline("google");
String hashtag = "#AlphaGo";
System.out.println("The Twitter page contains "
+ countTweets(hashtag, statuses)
+ " tweets with the hashtag : " + hashtag);
}
public static int countTweets(String hashtag, List<Status> statuses){
return (int) statuses.stream()
.filter(x -> x.getText().contains(hashtag))
.count();
}