//类
public class MyObject {
    private String objectId = new String();   
    private String objectName = new String();   
    private String objectSex = new String(); 
}
//将元素插入到集合中
List<MyObject> ll = new ArrayList<MyObject>();
MyObject m1 = new MyObject();
m1.setObjectId("1");
m1.setObjectName("test1");
m1.setObjectSex("3");
MyObject m2 = new MyObject();
m2.setObjectId("12");
m2.setObjectName("test2");
m2.setObjectSex("4");
MyObject m3 = new MyObject();
m3.setObjectId("1");
m3.setObjectName("test3");
m3.setObjectSex("5");
MyObject m4 = new MyObject();
m4.setObjectId("12");
m4.setObjectName("test4");
m4.setObjectSex("6");//通过比较ID  将他们分组后输出  请问该如何实现   元素不能丢失求教在线急等……

解决方案 »

  1.   

    1  test1 3
    12 test2 4
    . . . .
    要这样在页面显示嘛?
      

  2.   

    ll.add(m1);
    ll.add(m2);
    ll.add(m3);
    ll.add(m4);
    这几个操作你还没有做呢啊。
      

  3.   

    做了这几个操作,。
    for (MyObject m : ll)
    {
        System.out.println(m); //MyObject重新toString()方法。
    }
      

  4.   


    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.LinkedHashMap;
    import java.util.List;
    import java.util.Map;public class TestGroup {   /**
        * @param args
        */
       public static void main(String[] args) {
          List<MyObject> ll = new ArrayList<MyObject>();      MyObject m1 = new MyObject();
          m1.setObjectId("1");
          m1.setObjectName("test1");
          m1.setObjectSex("3");
          MyObject m2 = new MyObject();
          m2.setObjectId("12");
          m2.setObjectName("test2");
          m2.setObjectSex("4");
          MyObject m3 = new MyObject();
          m3.setObjectId("1");
          m3.setObjectName("test3");
          m3.setObjectSex("5");
          MyObject m4 = new MyObject();
          m4.setObjectId("12");
          m4.setObjectName("test4");
          m4.setObjectSex("6");      ll.add(m1);
          ll.add(m2);
          ll.add(m3);
          ll.add(m4);      Map<String, List<MyObject>> group = new LinkedHashMap<String, List<MyObject>>();      for(int i = 0; i < ll.size(); i++) {
             String id = ((MyObject) ll.get(i)).getObjectId();         if(group.containsKey(id)) {
                group.get(id).add(ll.get(i));
             }
             else {
                List<MyObject> list = new ArrayList<MyObject>();
                list.add(ll.get(i));
                group.put(id, list);
             }
          }      Iterator<String> it = group.keySet().iterator();      while(it.hasNext()) {
             String id = it.next();
             Iterator<MyObject> itGroup = group.get(id).iterator();
             System.err.println("group: " + id);         while(itGroup.hasNext()) {
                System.err.println("\tinfo: " + itGroup.next());
             }
          }
       }   static class MyObject {
          private String objectId;      private String objectName;      private String objectSex;      public String getObjectId() {
             return objectId;
          }      public void setObjectId(String objectId) {
             this.objectId = objectId;
          }      public String getObjectName() {
             return objectName;
          }      public void setObjectName(String objectName) {
             this.objectName = objectName;
          }      public String getObjectSex() {
             return objectSex;
          }      public void setObjectSex(String objectSex) {
             this.objectSex = objectSex;
          }      public String toString() {
             return "objectId = " + objectId + ", objectName = " + objectName
                   + ", objectSex = " + objectSex;
          }
       }
    }

    group: 1
    info: objectId = 1, objectName = test1, objectSex = 3
    info: objectId = 1, objectName = test3, objectSex = 5
    group: 12
    info: objectId = 12, objectName = test2, objectSex = 4
    info: objectId = 12, objectName = test4, objectSex = 6
      

  5.   

    先把对像通过 add()放到集合里去
    可以通过重写compare方法现实现
    对象间是通过ID进行比较的