List的问题

handsome0916 2011-02-11 08:39:10
class Student
{
public int id;
}
class Techer
{
public int id;
}

class TecherStudent

{
public Student stu;
public Techer ter;

}

假如定义List<TecherStudent>,这样是可以的,但是我不想定义多一个TecherStudent这样的类,也不想在Student里定义Techer改变数据结构

我想这样List<Techer,Student>,一行记录包含两个对象好像不行,像问问正确的语法是怎样的?
...全文
219 21 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
ituuz 2011-02-22
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 rainsilence 的回复:]

引用 10 楼 sevendawn 的回复:

引用 9 楼 afer198215 的回复:
引用楼主 handsome0916 的回复:
我想这样List<Techer,Student>,一行记录包含两个对象好像不行,像问问正确的语法是怎样的?

试试 Map<Techer,Student>


+1


这种不靠谱的回答居然还有人+1
[/Quote]
=PNZ=BeijingL 2011-02-21
  • 打赏
  • 举报
回复
我觉得,应该根据表信息,一张表一个类,

NueFriend 2011-02-21
  • 打赏
  • 举报
回复
LZ的意思是要反映学生和老师的关系,然后把关系放在List里么?
个人感觉用Map<student,teacher>是可以的
renhuihhh 2011-02-12
  • 打赏
  • 举报
回复
这难道是 玩数据库吗?
足篮智者 2011-02-12
  • 打赏
  • 举报
回复
二维数组
想喝咖啡的貓 2011-02-12
  • 打赏
  • 举报
回复
其实最大的问题,是lz的数据结构有问题。 list或map都解决不了。
沉默的飞鱼 2011-02-12
  • 打赏
  • 举报
回复
MAP




1
sebatinsky 2011-02-12
  • 打赏
  • 举报
回复
[Quote=引用楼主 handsome0916 的回复:]
class Student
{
public int id;
}
class Techer
{
public int id;
}

class TecherStudent

{
public Student stu;
public Techer ter;

}

假如定义List<TecherStudent>,这样是可以的,但是我不想定义……
[/Quote]

呵呵,希望楼主熟悉List和Map的数据结构,去看看源码或者是查下jdk帮助文档,都可以,list<e>和map<key,value>是固定的,你可以不用后面的那个,但是要用,就必须遵守,希望楼主熟悉之后,在来设计自己想要的。谢谢
rainsilence 2011-02-12
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 sevendawn 的回复:]

引用 9 楼 afer198215 的回复:
引用楼主 handsome0916 的回复:
我想这样List<Techer,Student>,一行记录包含两个对象好像不行,像问问正确的语法是怎样的?

试试 Map<Techer,Student>


+1
[/Quote]

这种不靠谱的回答居然还有人+1
vivazhao 2011-02-12
  • 打赏
  • 举报
回复
没有这样的语法,建个新类最靠谱
sevendawn 2011-02-12
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 afer198215 的回复:]
引用楼主 handsome0916 的回复:
我想这样List<Techer,Student>,一行记录包含两个对象好像不行,像问问正确的语法是怎样的?

试试 Map<Techer,Student>
[/Quote]

+1
想喝咖啡的貓 2011-02-12
  • 打赏
  • 举报
回复
[Quote=引用楼主 handsome0916 的回复:]
我想这样List<Techer,Student>,一行记录包含两个对象好像不行,像问问正确的语法是怎样的?
[/Quote]
试试 Map<Techer,Student>
hzzduoduo 2011-02-12
  • 打赏
  • 举报
回复
还真是多对多的关系啊
四川民工甲 2011-02-12
  • 打赏
  • 举报
回复
MapTest是我设计关联类,里面保存所有的关联!
蛋疼的想法,莫要见效哈!
package structData;

import java.util.Iterator;
import java.util.Set;

public class Main {

/**
* @param args
*/
public static void main(String[] args) {
MapTest<Teacher,Student> m1=new MapTest<Teacher,Student>(new Teacher(100),new Student(100));
MapTest<Teacher,Student> m2=new MapTest<Teacher,Student>(new Teacher(100),new Student(100));
MapTest<Teacher,Student> m3=new MapTest<Teacher,Student>(new Teacher(100),new Student(100));
MapTest<Teacher,Student> m4=new MapTest<Teacher,Student>(new Teacher(100),new Student(100));
Set<MapTest> s=m4.getMaps();
Iterator i=s.iterator();
while(i.hasNext()){
MapTest<Teacher,Student> m=(MapTest)i.next();
System.out.println(m.getTeachers().id);
}

}

}
四川民工甲 2011-02-12
  • 打赏
  • 举报
回复
package structData;

import java.util.HashSet;
import java.util.Set;

public class MapTest<S,T> implements Comparable{
private static Set<MapTest> maps=new HashSet<MapTest>();
private T t=null;
private S s=null;
public MapTest(Object n,Object m){
t=(T) n;
s=(S)m;
maps.add(this);
}
public int compareTo(Object o) {
MapTest<S,T> map=(MapTest<S,T>)o;
T tc=map.getTeachers();
S sc=map.getStudents();
return tc==t&&sc==s?0:
tc.hashCode()+sc.hashCode()>t.hashCode()+s.hashCode()?1:-1;
}
public T getTeachers() {
return t;
}
public void setTeachers(T teachers) {
this.t = teachers;
}
public S getStudents() {
return s;
}
public void setStudents(S students) {
this.s = students;
}
public static Set<MapTest> getMaps() {
return maps;
}

}
rainsilence 2011-02-11
  • 打赏
  • 举报
回复
Teacher和Student是多对多关系的。所以你写成TeacherStudent这样等于增加了张关系表。但是作为结果本身并没有什么意义。老师和学生的笛卡尔积有啥意义啊。肯定是根据某个学生来查老师,或者查询一个老师下面的所有学生。如果只是上面的两个需求,TeacherStudent根本没有必要了。只需要两个实体就可以解决。
Cc_Hard 2011-02-11
  • 打赏
  • 举报
回复
还可以这么写吗 哦
kai27ks 2011-02-11
  • 打赏
  • 举报
回复
方法1:List<List> List里面的类型是List 然后分别添加入Teacher 和Student
方法2:你的那个方法 封装成新对象TecherStudent

其实正常情况下不会把这2个东西放到一起 ,除非他们有联系。如果有联系 都会设置成外键关系了,在一个对象里。比如Student 里有一个Teacher 属性

MAP不合适。
pl3121605999 2011-02-11
  • 打赏
  • 举报
回复
= = 。。。你应该使用map。。

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧