Iteratorit = ts.iterator();
while(it.hasNext())
{
System.out.println(it.next());
}
}
}
class StrLenComparator implementsComparator
{
publicint compare(Object o1,Object o2)
{
Strings1 = (String)o1;
Strings2 = (String)o2;
intnum = new Integer(s1.length()).compareTo(new Integer(s2.length()));
if(num==0)
returns1.compareTo(s2);
returnnum;
}
}
什么时候定义泛型类?
当类中要操作的引用数据类型不确定的时候,
早期定义Object来完成扩展。
泛型格式:通过<>来定义要操作的引用数据类型。
当使用集合时,将集合中要存储的数据类型作为参数传递到<>中即可。
class GenericDemo
{
publicstatic void main(String[] args)
{
ArrayList
al.add("abc01");
al.add("abc0991");
al.add("abc014");
Iterator
while(it.hasNext())
{
Strings = it.next();
System.out.println(s+":"+s.length());
}
}
}
通配符。也可以理解为占位符。
泛型的限定;
? extends E: 可以接收E类型或者E的子类型。上限。
? super E: 可以接收E类型或者E的父类型。下限
public static voidprintColl(Collection< extends Person> al)
{
Iterator< extends Person> it = al.iterator();
while(it.hasNext())
{
System.out.println(it.next().getName());
}
}
将字符串中的数值进行排序。使用TreeSet完成。因为TreeSet自身具备排序功能。
{
publicstatic void main(String[] args)
{
ArrayListal = new ArrayList();
Stringstr = "90 -7 0 18 2 45 4";
String[] arr = str.split(" ");
TreeSetts = new TreeSet();
for(intx=0; x
ts.add(Integer.parseInt(arr[x]));//
}
System.out.println(ts);
}
}
Map集合:该集合存储键值对。一对一对往里存。而且要保证键的唯一性。
1,添加。
put(Kkey, V value)
putAll(Map< extends K, extends V> m)
2,删除。
clear()
remove(Objectkey)
3,判断。
containsValue(Objectvalue)
containsKey(Objectkey)
isEmpty()
4,获取。
get(Objectkey)
size()
values()
entrySet()
keySet()
Map
|--Hashtable:底层是哈希表数据结构,不可以存入null键null值。该集合是线程同步的。jdk1.0.效率低。
|--HashMap:底层是哈希表数据结构,允许使用 null 值和 null 键,该集合是不同步的。将hashtable替代,jdk1.2.效率高。
|--TreeMap:底层是二叉树数据结构。线程不同步。可以用于给map集合中的键进行排序。
Set底层就是使用了Map集合。
import java.util.*;
class MapDemo
{
publicstatic void main(String[] args)
{
Map
//添加元素,如果出现添加时,相同的键。那么后添加的值会覆盖原有键对应值。
//并put方法会返回被覆盖的值。
System.out.println("put:"+map.put("01","zhangsan1"));
System.out.println("put:"+map.put("01","wnagwu"));
map.put("02","zhangsan2");
map.put("03","zhangsan3");
System.out.println("containsKey:"+map.containsKey("022"));
System.out.println("get:"+map.get("023"));
map.put("04",null);
System.out.println("get:"+map.get("04"));
//可以通过get方法的返回值来判断一个键是否存在。通过返回null来判断。