81,092
社区成员
发帖
与我相关
我的任务
分享
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
public class TestMap {
public static void main(String[] args) {
Map<String, Person> persons = listToMap(getPersonList());
for (Iterator<String> it = persons.keySet().iterator(); it.hasNext();) {
Person person = persons.get(it.next());
System.out.println("借书人:" + person.getName() + "\n所借书:" + person.getBookName());
}
}
// 这个是数据库返回的结果集 先用List代替吧
public static List<Person> getPersonList() {
List<Person> persons = new ArrayList<Person>();
persons.add(new Person("BearKin", "三国演义"));
persons.add(new Person("BearKin", "Java编程思想"));
persons.add(new Person("BearKin", "盗墓笔记"));
persons.add(new Person("兜兜装豆豆", "火影忍者"));
persons.add(new Person("兜兜装豆豆", "钢之炼金术师"));
persons.add(new Person("兜兜装豆豆", "Javascript动态网页开发详解"));
persons.add(new Person("兜兜装豆豆", "JAVA数据结构"));
return persons;
}
// 具体的转换方法
public static Map<String, Person> listToMap(List<Person> list) {
Map<String, Person> persons = new HashMap<String, Person>();
for (Iterator<Person> it = list.iterator(); it.hasNext();) {
Person person = it.next();
Person person1 = null;
if ((person1 = persons.get(person.getName())) != null) {
person1.setBookName(person1.getBookName() + "," + person.getBookName());
} else {
persons.put(person.getName(), person);
}
}
return persons;
}
}
class Person {
private String name;
private String bookName;
public Person(String name, String bookName) {
this.name = name;
this.bookName = bookName;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getBookName() {
return bookName;
}
public void setBookName(String bookName) {
this.bookName = bookName;
}
}
public class TestH {
public static void main(String[] args) {
TestH th = new TestH();
List<BorrowBook> bb = new ArrayList<BorrowBook>();
BorrowBook b1 = th.new BorrowBook("1001","张三","java编程思想","100123 ");
BorrowBook b2 = th.new BorrowBook("1001","张三","红楼梦","100111");
BorrowBook b3 = th.new BorrowBook("1001","张三","三国演义","111012");
BorrowBook b4 = th.new BorrowBook("1002","李四","三国演义","111012");
BorrowBook b5 = th.new BorrowBook("1003","王五","软件工程","100009");
bb.add(b1);
bb.add(b2);
bb.add(b3);
bb.add(b4);
bb.add(b5);
List<BorrowBook> newbb = new ArrayList<BorrowBook>();
//***************读者ID无序****************//
Set<String> set = new HashSet<String>();
for(BorrowBook b : bb){
String sno = b.getSno();
if(set.contains(sno)){
for(BorrowBook k : newbb){
if(k.getSno() == sno){
k.setBookName(k.getBookName() + "," + b.getBookName());
break;
}
}
}else{
set.add(sno);
newbb.add(b);
}
}
//***************读者ID无序****************//
//***************读者ID有序****************//
/*int len = bb.size();
if(len != 0){
newbb.add(bb.get(0));
for(int i = 1; i < len; i++){
BorrowBook k1 = bb.get(i);
BorrowBook k2 = bb.get(i - 1);
if(k1.getSno().equals(k2.getSno())){
BorrowBook k3 = newbb.get(newbb.size() - 1);
k3.setBookName(k3.getBookName() + "," + k1.getBookName());
}else{
newbb.add(k1);
}
}
}*/
//***************读者ID有序****************//
for(BorrowBook b : newbb){
System.out.println(b.getSname() + ":" + b.getBookName());
}
}
class BorrowBook{
private String sno; //读者ID
private String sname; //学生姓名
private String bookName; //图书名称
private String bookList; //图书条形码
public BorrowBook(String sno,String sname,String bookName,String bookList){
this.sno = sno;
this.sname = sname;
this.bookList = bookList;
this.bookName = bookName;
}
public String getBookList() {
return bookList;
}
public void setBookList(String bookList) {
this.bookList = bookList;
}
public String getBookName() {
return bookName;
}
public void setBookName(String bookName) {
this.bookName = bookName;
}
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public String getSno() {
return sno;
}
public void setSno(String sno) {
this.sno = sno;
}
}
}