List<A>和List<B>形成新的List<C>有要求的生成 集合是用哪个java类声明的,请说明一下。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没有快捷方法的。按照你描述的思路循环判断即可。如for for if(dairytime > pictime){ xxx }else{ xxxx } package demo;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.Random;public class Baidu { public static void main(String[] args) { Random random = new Random(); ArrayList<A> alist = setA(random,"atitle"); ArrayList<B> blist = setB(random,"D:\\b.txt"); try { for (C c : getCList(alist, blist)) { System.out.println("Time:" + c.getTime() + "\n" + "Path:" + c.getPath() + "\n" + "Title:" + c.getTitle()); System.out.println(); } } catch (Exception e) { e.printStackTrace(); } } // 获得相同id的A,B对象,比较他们的时间,从来获取C集合 public static ArrayList<C> getCList(ArrayList<A> alist, ArrayList<B> blist) throws Exception { ArrayList<C> clist = new ArrayList<C>(); for (int i = 0; i < alist.size(); i++) { for (int j = 0; j < blist.size(); j++) { if (alist.get(i).getId() == blist.get(j).getId()) { String dairytime = alist.get(i).getDairytime(); String pictime = blist.get(j).getPictime(); C c = new C(); // 如果A的dairytime更小 如:2014-03-25 15:37:38 if (stringToDate(dairytime).before(stringToDate(pictime))) { c.setTime(dairytime); c.setTitle(alist.get(i).getTitle()); c.setPath(""); // 如果B的pictime更小 如:2014-03-26 03:03:33 } else if (stringToDate(dairytime).after( stringToDate(pictime))) { c.setTime(pictime); c.setTitle(""); c.setPath(blist.get(j).getPath()); } clist.add(c); } } } return clist; } // 设置A集合 public static ArrayList<A> setA(Random random,String title) { ArrayList<A> alist = new ArrayList<A>(); // 执行十遍,像alist添加十个元素 for (int i = 0; i < 10; i++) { A a = new A(); // 将A对象的dairytime都设置为随机生成的,不过生成的时间有可能不符合逻辑 a.setId(i); a.setDairytime((2000+random.nextInt(16)) + "-" + (1+random.nextInt(12)) + "-"// 年 月 + random.nextInt(31) + " " + random.nextInt(25) + ":"//日 时 + random.nextInt(61) + ":" + random.nextInt(61));//分 秒 a.setTitle(title); alist.add(a); } return alist; } // 设置B集合 public static ArrayList<B> setB(Random random,String path) { ArrayList<B> blist = new ArrayList<B>(); // 执行十遍,像alist添加十个元素 for (int i = 0; i < 10; i++) { B b = new B(); // 将B对象的id pictime都设置为随机生成的,不过生成的时间有可能不符合逻辑 b.setId(i); b.setPictime((2000+random.nextInt(15)) + "-" + (1+random.nextInt(12)) + "-"// 年 月 + random.nextInt(31) + " " + random.nextInt(25) + ":"//日 时 + random.nextInt(61) + ":" + random.nextInt(61));//分 秒 b.setPath(path); blist.add(b); } return blist; } // 将时间字符串转换为Date,用于比较 public static Date stringToDate(String time) throws Exception { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); return sdf.parse(time); }}class A { private int id; private String dairytime; private String title; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getDairytime() { return dairytime; } public void setDairytime(String dairytime) { this.dairytime = dairytime; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; }}class B { private int id; private String pictime; private String path; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getPictime() { return pictime; } public void setPictime(String pictime) { this.pictime = pictime; } public String getPath() { return path; } public void setPath(String path) { this.path = path; }}class C { private String time; private String title; private String path; public String getTime() { return time; } public void setTime(String time) { this.time = time; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getPath() { return path; } public void setPath(String path) { this.path = path; }} //===================尝试一下生成新的list================= listPd=new ArrayList<PicDai>();//生成的新list list = dao.queryDairy(username);//日志的list photolist=pdao.queryPhoto(username);//照片的list //===========判断第一种可能性当日记不为空,照片为空================ if(photolist.size()==0&&list.size()!=0){ for(Dairy ds:list){ PicDai pd1=new PicDai(); pd1.setTitle(ds.getTitle()); pd1.setPath(""); pd1.setTime(ds.getDsdate()); pd1.setUsername(ds.getUsername()); listPd.add(pd1); } } //判断第二种可能性日记为空照片不为空 else if(photolist.size()!=0&&list.size()==0){ for(photobean pbs:photolist){ PicDai pd1=new PicDai(); pd1.setTitle(""); pd1.setPath(pbs.getPath()); pd1.setTime(pbs.getName()); pd1.setUsername(pbs.getUsername()); listPd.add(pd1); } } else{ for(Dairy dairys:list){ for(photobean ps:photolist){ //根据时间去判断从而生成新的list String pictime=ps.getName();//获取照片的时间 String titletime=dairys.getDsdate(); PicDai pds=new PicDai(); try { Date picdate=sd1.parse(pictime); Date titledate=sd1.parse(titletime); long comparer=titledate.getTime()-picdate.getTime(); if(comparer<0){ pds.setTitle(dairys.getTitle());//将title放入新的list集合 pds.setTime(dairys.getDsdate()); pds.setUsername(dairys.getUsername()); pds.setPath(""); // criticl.setText(info.getDsdate()); // 获取心情日记的title // content.setText(info.getTitle()); } else{ pds.setPath(ps.getPath()); pds.setTime(ps.getName()); pds.setUsername(ps.getUsername()); pds.setTitle(""); // criticl.setText(info1.getName()); //iv_picture.setImageBitmap(bmap); } } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } listPd.add(pds); } } } 关于线程通信中的一个问题 如何得到一个字符串中汉字的个数? 求东软历届笔试题 求 linux下实用的Java图形化调试器,主要作为一般的Java 程序调试 jdk1.5的安装配置 求Java编码规范的详细文档,最好是象NEC那些大公司的。谢谢了! html可以调用applet里面的方法吗? 求JAVA IDE!!! 怎样让java应用程序独立运行? 一个很基础的问题 带参数 运行jar 失败 明明有那个类的JAR 却不能导入进来 这么怎么回事呢
for
for
if(dairytime > pictime){
xxx
}else{
xxxx
}
import java.util.ArrayList;
import java.util.Date;
import java.util.Random;public class Baidu {
public static void main(String[] args) {
Random random = new Random();
ArrayList<A> alist = setA(random,"atitle");
ArrayList<B> blist = setB(random,"D:\\b.txt");
try {
for (C c : getCList(alist, blist)) {
System.out.println("Time:" + c.getTime() + "\n" + "Path:"
+ c.getPath() + "\n" + "Title:" + c.getTitle());
System.out.println();
}
} catch (Exception e) {
e.printStackTrace();
}
} // 获得相同id的A,B对象,比较他们的时间,从来获取C集合
public static ArrayList<C> getCList(ArrayList<A> alist, ArrayList<B> blist)
throws Exception {
ArrayList<C> clist = new ArrayList<C>();
for (int i = 0; i < alist.size(); i++) {
for (int j = 0; j < blist.size(); j++) {
if (alist.get(i).getId() == blist.get(j).getId()) {
String dairytime = alist.get(i).getDairytime();
String pictime = blist.get(j).getPictime();
C c = new C();
// 如果A的dairytime更小 如:2014-03-25 15:37:38
if (stringToDate(dairytime).before(stringToDate(pictime))) {
c.setTime(dairytime);
c.setTitle(alist.get(i).getTitle());
c.setPath("");
// 如果B的pictime更小 如:2014-03-26 03:03:33
} else if (stringToDate(dairytime).after(
stringToDate(pictime))) {
c.setTime(pictime);
c.setTitle("");
c.setPath(blist.get(j).getPath());
}
clist.add(c);
}
}
}
return clist;
} // 设置A集合
public static ArrayList<A> setA(Random random,String title) {
ArrayList<A> alist = new ArrayList<A>();
// 执行十遍,像alist添加十个元素
for (int i = 0; i < 10; i++) {
A a = new A();
// 将A对象的dairytime都设置为随机生成的,不过生成的时间有可能不符合逻辑
a.setId(i);
a.setDairytime((2000+random.nextInt(16)) + "-" + (1+random.nextInt(12)) + "-"// 年 月
+ random.nextInt(31) + " " + random.nextInt(25) + ":"//日 时
+ random.nextInt(61) + ":" + random.nextInt(61));//分 秒
a.setTitle(title);
alist.add(a);
}
return alist;
} // 设置B集合
public static ArrayList<B> setB(Random random,String path) {
ArrayList<B> blist = new ArrayList<B>();
// 执行十遍,像alist添加十个元素
for (int i = 0; i < 10; i++) {
B b = new B();
// 将B对象的id pictime都设置为随机生成的,不过生成的时间有可能不符合逻辑
b.setId(i);
b.setPictime((2000+random.nextInt(15)) + "-" + (1+random.nextInt(12)) + "-"// 年 月
+ random.nextInt(31) + " " + random.nextInt(25) + ":"//日 时
+ random.nextInt(61) + ":" + random.nextInt(61));//分 秒
b.setPath(path);
blist.add(b);
}
return blist;
} // 将时间字符串转换为Date,用于比较
public static Date stringToDate(String time) throws Exception {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return sdf.parse(time);
}}class A {
private int id;
private String dairytime;
private String title; public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public String getDairytime() {
return dairytime;
} public void setDairytime(String dairytime) {
this.dairytime = dairytime;
} public String getTitle() {
return title;
} public void setTitle(String title) {
this.title = title;
}
}class B {
private int id;
private String pictime;
private String path; public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public String getPictime() {
return pictime;
} public void setPictime(String pictime) {
this.pictime = pictime;
} public String getPath() {
return path;
} public void setPath(String path) {
this.path = path;
}
}class C {
private String time;
private String title;
private String path; public String getTime() {
return time;
} public void setTime(String time) {
this.time = time;
} public String getTitle() {
return title;
} public void setTitle(String title) {
this.title = title;
} public String getPath() {
return path;
} public void setPath(String path) {
this.path = path;
}}
listPd=new ArrayList<PicDai>();//生成的新list
list = dao.queryDairy(username);//日志的list
photolist=pdao.queryPhoto(username);//照片的list
//===========判断第一种可能性当日记不为空,照片为空================
if(photolist.size()==0&&list.size()!=0){
for(Dairy ds:list){
PicDai pd1=new PicDai();
pd1.setTitle(ds.getTitle());
pd1.setPath("");
pd1.setTime(ds.getDsdate());
pd1.setUsername(ds.getUsername());
listPd.add(pd1);
}
}
//判断第二种可能性日记为空照片不为空
else if(photolist.size()!=0&&list.size()==0){
for(photobean pbs:photolist){
PicDai pd1=new PicDai();
pd1.setTitle("");
pd1.setPath(pbs.getPath());
pd1.setTime(pbs.getName());
pd1.setUsername(pbs.getUsername());
listPd.add(pd1);
}
}
else{
for(Dairy dairys:list){
for(photobean ps:photolist){
//根据时间去判断从而生成新的list
String pictime=ps.getName();//获取照片的时间
String titletime=dairys.getDsdate();
PicDai pds=new PicDai();
try {
Date picdate=sd1.parse(pictime);
Date titledate=sd1.parse(titletime);
long comparer=titledate.getTime()-picdate.getTime();
if(comparer<0){
pds.setTitle(dairys.getTitle());//将title放入新的list集合
pds.setTime(dairys.getDsdate());
pds.setUsername(dairys.getUsername());
pds.setPath("");
// criticl.setText(info.getDsdate()); // 获取心情日记的title
// content.setText(info.getTitle());
}
else{
pds.setPath(ps.getPath());
pds.setTime(ps.getName());
pds.setUsername(ps.getUsername());
pds.setTitle("");
// criticl.setText(info1.getName());
//iv_picture.setImageBitmap(bmap);
}
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
listPd.add(pds);
}
}
}