十四、容器
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());
}
}
}
浙公网安备 33010602011771号