设为首页 加入收藏

TOP

对象容器 - Java对数据结构的封装(二)
2014-11-24 11:59:59 来源: 作者: 【 】 浏览:79
Tags:对象 容器 Java 数据结构 封装
main(String[] args)
{
HashSet set = new HashSet();
Scanner sc = new Scanner(System.in);
String str;
while(true) //插入元素
{
str = sc.next();
if(str.equals("quit"))
break;
set.add(str);
}
while(true) //查找元素
{
str = sc.next();
if(str.equals("quit"))
break;
// 调用contains()方法查找是否存在该元素
if(set.contains(str))
System.out.println("Yes");
else
System.out.println("No");
}
}
}
3、SortedSet接口
SortedSet是实现了排序功能的接口,实现该接口的类都是有序的。
TreeSet是Java SE中唯一实现SortedSet接口的类,它使用红黑树结构来对插入的元素进行排序。如将输入的字符串按字典序输出 :
[java]
package cls;
import java.util.*;
/**
* 使用TreeSet类实现排序
* 2013.3.22
**/
public class TreeSetTest
{
public static void main(String[] args)
{
/**
* 使用TreeSet的默认方式进行排序
**/
TreeSet set = new TreeSet();
set.add("zoo");
set.add("bird");
set.add("pear");
set.add("iPod");
// 使用 enhanced for loop 显示排序后的对象
for(String str : set)
System.out.println(str);
System.out.println("----------------------------------------");
/**
* 使用自定义方式进行排序
**/
Set s = new TreeSet(new TreeSetCustom());
s.add("zoo");
s.add("bird");
s.add("pear");
s.add("iPod");
for(String str : s)
System.out.println(str);
}
}
/**
* 自定义排序规则进行排序
* 2013.3.22
**/
class TreeSetCustom implements Comparator
{
public int compare(Object o1,Object o2)
{
// 反字典序
return ((String)o1).compareTo((String)o2) * (-1);
}
}
我们还可以自定义排序的规则,以适应在实际应用中的实际需要。要定义自己的排序规则,必须定义一个实现java.util.Comparator接口的对象,实现该接口中的comare()方法。如上例
4、Map接口
实现 java.util.Map接口的对象会将键(key)映射至值(value)。 在将对象存入map中时,需要同时给定一个键,在取回对象时指定键。Map中的每一个键都是唯一的,不得重复。
HashMap实现了Map接口。HashMap在内部使用哈希法,因些能得到很高的查找效率。如:
[java]
package cls;
import java.util.*;
/**
* 使用HashMap类实现key - value 的存储结构
* 2013.3.22
**/
public class HashMapTest
{
public static void main(String[] args)
{
HashMap set = new HashMap();
// put([key],[value]);
set.put("animal","cat");
set.put("food","hotdog");
System.out.println(set.get("animal"));
System.out.println(set.get("food"));
}
}
TreeMap也实现了Map接口,它使用红黑树对插入的对象进行排序。它的操作与HashMap类似,在此不再赘述。。
首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇随机从数组中取出指定的不重复的n.. 下一篇java反射机制――解析

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·微服务 Spring Boot (2025-12-26 18:20:10)
·如何调整 Redis 内存 (2025-12-26 18:20:07)
·MySQL 数据类型:从 (2025-12-26 18:20:03)
·Linux Shell脚本教程 (2025-12-26 17:51:10)
·Qt教程,Qt5编程入门 (2025-12-26 17:51:07)