黑马程序员技术交流社区
标题:
泛型的基本使用
[打印本页]
作者:
itheima_llt
时间:
2015-4-16 13:13
标题:
泛型的基本使用
练习:
比较字符串长度,按字符串长度排序!
分析:
字符串本身是具备比较性的int compareTo(String str);
但是这里要比较的是字符串长度,
所以需要用比较器让集合具备比较性,
使用的是TreeSet的第二种排序方式
现在加入泛型
import java.util.*;
class GenericDemo2
{
public static void main(String[] args)
{
//创建集合,限定类型为String
TreeSet<String> ts = new TreeSet<String>(new StrLenComparator());
//添加String元素
ts.add("decsa");
ts.add("ab");
ts.add("aaad");
ts.add("aaad");
ts.add("aaab");
ts.add("ebc");
ts.add("fbcded");
ts.add("c");
//迭代取出,迭代器也用泛型
for(Iterator<String> it = ts.iterator(); it.hasNext(); )
{
String s = it.next();
System.out.println(s.length()+"----"+s);
}
}
}
//实现比较器,使用泛型
class StrLenComparator implements Comparator<String>
{
//覆盖compare
public int compare(String str1,String str2)
{
//判断字符串长度关系
int num = new Integer(str1.length()).compareTo(new Integer(str2.length()));
//当字符串长度相等,判断字典序
if(num==0)
return str1.compareTo(str2);
//否则不判断字典序
return num;
}
}
复制代码
字符串长度比较在使用泛型后安全了.jpg
(64.68 KB, 下载次数: 5)
下载附件
2015-4-16 13:13 上传
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2