爬取数据后进行数据加工的时候会发现处理数据的List很麻烦,三个list进行循环和赋值会很复杂,加上对应的数据都不在一个频道上。
基本的需求就是:我爬出来三种不同数据的List但是都是对应的,所以我要把这三条list进行合并组装数据,上代码
1.封装实体
package com.demo.until;
/**
*
* <br>Description:TODO 数据源类功能描述
* <br>Date:2019年12月17日
*/
public class LinstnerDate {
//标题
private String title;
//URL 链接
private String url;
//数据源
private String date;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
@Override
public String toString() {
return "LinstnerDate [title=" + title + ", url=" + url + ", date=" + date + "]";
}
}
2.数据数据源
package com.demo.until;
import java.util.ArrayList;
import java.util.List;
public class DateLinster {
public static void main(String[] args) {
//三种list 分别要对应相应的数据 第一条数据要和第二个list的数据响应起来
List<String> titleList = new ArrayList<String>();
titleList.add("今天");
titleList.add("明天");
titleList.add("后天");
List<String> urlList = new ArrayList<String>();
urlList.add("www.baidu.today");
urlList.add("www.baidu.Mingday");
urlList.add("www.baidu.Houday");
List<String> dateList = new ArrayList<String>();
dateList.add("多云");
dateList.add("晴");
dateList.add("大雨");
//用list分装实体
List<LinstnerDate> list = new ArrayList<LinstnerDate>();
//首先我要知道他的list数据只有三条 循环三次
for (int i = 1; i <= 3; i++) {
//把实体对象new 出来进行赋值
LinstnerDate linstnerDate = new LinstnerDate();
//遍历第一个list
for (String title : titleList) {
//进行赋值
linstnerDate.setTitle(title);
//删除第一个
titleList.remove(0);
//停止循环
break;
}
for (String url : urlList) {
linstnerDate.setUrl(url);
urlList.remove(0);
break;
}
for (String date : dateList) {
linstnerDate.setDate(date);
dateList.remove(0);
break;
}
list.add(linstnerDate);
}
//这样的逻辑就是遍历一个大的list循环三次是已知他的数据
//然后封装一个实体类 ,在循环里边遍历第一个list 进行赋值 然后删除第一个 跳出循环 然后大循环会
//一个一个进行循环,list删除第一个以后停止循环 第二次进来就是第二条数据 第一条数据已经删除了
//就是这样的一个逻辑
System.out.println("date======" + list + "======" + list.size());
}
}