十四、容器

import java.util.*;
public class Helloworld1 {
 public static void main(String args[]) {
  Set<String> set = new HashSet<String>();               //不加上<String>泛型会报不安全
  List<String> list = new ArrayList<String>();
  set.add("my");                                         //add()添加容器的内容
  set.add("name");
  set.add("is");
  set.add("name");
  list.add("my");
  list.add("name");
  list.add("is");
  list.add("name");
  list.remove(new Integer(1));                           //删除整形的1,而不是索引,索引直接list.remove(1);
  set.remove("name");                                    //由于set不能重复,删除后就没有name了,list还会有后面一个
  System.out.println(set);
  System.out.println(" ");
  System.out.println(list);
1.  Iterator i = set.iterator();                           //得到迭代器                         
  while(i.hasNext()) {
   System.out.println(i.next());
   }
  
   }
 }

2.for(Iterator i = set.iterator();i.hasNext();) {                      //迭代器,也可以用for方法
   System.out.println(i.next());
   }

3.  for(String n:set) {                                    //加强for循环,set的值赋给了n(局限性:步长唯一)
   System.out.println(n);
   }
....................................................................................................................................
list的降序输出        (util包下的collections类只能对list进行操作)

import java.util.*;
public class Helloworld1 {
 public static void main(String args[]) {
  List<Integer> list = new ArrayList<Integer>();
  list.add(4);
  list.add(2);
  list.add(5);
  list.add(1);
  list.add(3);
  Collections.sort(list);                 //list的升序排列
  Collections.reverse(list);              //list的排序倒转
  System.out.println(list);
   }
 }
....................................................................................................................................
list对自定义的Person类进行降序输出  (同样也是用util下的Collections类中的sort()方法,只是自定义的类Person得重写他的比较方法,于是Person就得
实现lang包底下的Comparable类,然后再重写Comparable的compareTo()方法)

import java.util.*;
public class Helloworld1 {
 public static void main(String args[]) {
  List<Person> list = new ArrayList<Person>();
  list.add(new Person("a",4));
  list.add(new Person("b",1));
  list.add(new Person("c",5));
  list.add(new Person("d",2));
  list.add(new Person("b",3));
  Collections.sort(list);                      //list的升序排列
  Collections.reverse(list);                   //list的排序倒转
  System.out.println(list);
  }
 }
  class Person implements Comparable {                      //Person实现lang包底下的Comparable类
   String name;
   int age;
   public Person(String name,int age) {
    this.name = name;
    this.age = age;
    }
    public int compareTo(Object o) {           //重写Comparable的compareTo()方法
     Person p = (Person)o;
     if(this.age>p.age) {
      return 1;
     }else if(this.age == p.age) {
      return 0;
     }else {
      return -1;
      }
     }
     public String toString() {       //重写Person类的toString()方法
      return "age: "+age;
      }
   }

....................................................................................................................................
map的两种迭代方法  (map没有实现Iterator接口,所以必须把它的key或entry赋给Set)

一、import java.util.*;
    public class Helloworld1 {                                                  //利用map的keySet()方法,拿到map中所有的key并且放到Set中
 public static void main(String args[]) {
  Map<String,String> map = new HashMap<String,String>();
  map.put("一","jack");
  map.put("二","rose");
  map.put("三","tom");
  map.put("四","admin");
  map.put("五","lucy");
  System.out.println(map.get("五"));
  Set set = map.keySet();
  Iterator i = set.iterator();
  while(i.hasNext()) {
   String key = i.next();
   System.out.println(map.get(key));
   }
  }
 }

二、import java.util.*;
    public class Helloworld1 {                                            //利用map的entrySet()方法,拿到map中所有的entry并且放到Set中
 public static void main(String args[]) {
  Map<String,String> map = new HashMap<String,String>();
  map.put("一","jack");
  map.put("二","rose");
  map.put("三","tom");
  map.put("四","admin");
  map.put("五","lucy");
  Set<Map.Entry<String,String>> set = map.entrySet();
  Iterator<Map.Entry<String,String>> i =set.iterator();
  while(i.hasNext()) {
   Map.Entry entry = (Map.Entry)i.next();
   System.out.println("序号: "+entry.getKey()+"     "+"name: "+entry.getValue());
   }
  }
 }

posted @ 2012-07-17 23:41  建志  阅读(127)  评论(0)    收藏  举报