java api接口篇(二)上

Map接口

Map是一个将键映射为值的对象。一个映射不能包含重复键:每个键最多能映射一个值。Map接口如下所示:

public interface Map {
// Basic Operations
Object put(Object key, Object value);
Object get(Object key);
Object remove(Object key);
boolean containsKey(Object key);
boolean containsValue(Object value);
int size();
boolean isEmpty();

// Bulk Operations
void putAll(Map t);
void clear();

// Collection Views
public Set keySet();
public Collection values();
public Set entrySet();
// Interface for entrySet element
public interface Entry {
Object getKey();
Object getValue();
Object setValue(Object value);
}
}
 

JDK包含两个新的通用Map实现,一个是HashMap, 它将它的项存储在一个哈希表中,是一种最好的实现;另一个是TreeMap, 它将它的项存储在一个红-黑树上,它可保证迭代的顺序。另外, Hashtable已被改进以实现Map。

与哈希表的比较

如果你使用过Hashtable, 你应该已经熟悉了Map的一般风格(当然Map是一个接口,而Hashtable是一个具体的实现)。以下是它们的主要区别:

Map提供Collection视图,作为Enumeration对象的替代直接支持迭代过程。Collection视图 极大地提高了接口的可表达性,正如后续课程将讲到的。

Map允许你在键、值或键-值对上进行迭代;Hashtable则不提供第三个选项。

Map提供了在迭代过程中删除项的安全途径;Hashtable则不能。

进一步讲,Map修补了Hashtable接口上的某些小缺陷。Hashtable具有一个称作contains的方法,如果Hashtable包含一个给定值,它将返回true。从它的名字上理解, 你可能期望如果Hashtable包含一个给定的key, 这个方法也会返回一个true ,因为键是一个Hashtable的主要存取机制。Map接口通过将这个方法重新命名为containsValue,从而消除了引起混乱的来源;同时也改善了接口的一致性: containsValue与containsKey可很好地对应并行。

基本操作

基本操作 (put, get, remove, containsKey, containsValue, s , a和isEmpty) 的功能与它们在Hashtable中的对等物非常相似。下面的简单程序针对参数列表中的词汇生成一个频率表。频率表将每个词和它在参数列表中所出现的次数相映射。

import java.util.*;
public class Freq { private static final Integer ONE = new Integer(1);
public static void main(String args[]) {
Map m = new HashMap();
// Initialize frequency table from command line
for (int i=0; i$#@60; args.length; i++) {
Integer freq = (Integer) m.get(args[i]);
m.put(args[i], (freq==null ? ONE :
new Integer(freq.intValue() + 1)));
}

System.out.println(m.size()+" distinct words detected:");
System.out.println(m);
}
}
 

时间: 2024-08-15 23:22:34

java api接口篇(二)上的相关文章

java api接口篇(二)下

编写你自己的Comparable类型 Comparable 接口由一个单一的方法构成: public interface Comparable { public int compareTo(Object o); } compareTo 方法将接收对象与特定对象进行比较,并在接收对象小于.等于或大于特定对象时分别返回负整数.空或一个正整数.如果特定对象不能与接收对象相比较,该方法扔出一个ClassCastException. 这是一个表示某人姓名的类(a class representing a

文档编写-java api接口编写是什么?

问题描述 java api接口编写是什么? 是不是将DAO方法提取接口,然后再对方法功能介绍? 能给个模板吗? 解决方案 调用API好像是类似于调用一个自定函数那样就可以了吧 public interface inf(int a, int b){ ... }; 调用: inf in = new inf(12, 14); 我也不太确定,感觉应该是一样的..

容易忽视但是功能灰常强大的Java API

容易忽视但是功能灰常强大的Java API 收藏 这几天看了一些用java编写的程序代码,发现了很多以前不知道的api功能.原以为自己还算得上是一个java语言的中级学习者,现在看来自己只是一个java初级学习者,对java的认识一直只是停留在java的表层,解决一些应用问题只是毫无新意地将一些已知的常用接口.数据结构等翻来覆去地使用,没有更深地去了解这门语言.事实上java提供了很多功能非常强大的接口,能够很方便地为我们解决一些实际的问题,下面就具体介绍几个我最近了解的java API功能.

如何使用百度云API接口

问题描述 我在做的是要把U盘里的文件上传到百度网盘,实现两者同步,但是不知道如何使用API接口实现文件上传,我用到的开发工具是QT. 解决方案 解决方案二:现在百度云api都不开放了

Java Http接口加签、验签操作方法_java

1.业务背景 最近接触了一些电商业务,发现在处理电商业务接口时,比如淘宝.支付类接口,接口双方为了确保数据参数在传输过程中未经过篡改,都需要对接口数据进行加签,然后在接口服务器端对接口参数进行验签,确保两个签名是一样的,验签通过之后再进行业务逻辑处理.我们这里主要介绍一下处理思路,至于签名算法我不做过多介绍,网上一大堆. 2.处理思路 双方约定好,参数按特定顺序排列,比如按首字母的顺序排列,如url:http://xxx/xxx.do?a=wersd&b=sd2354&c=4&si

数据-急!!有API接口接入的智能过滤服务嘛!

问题描述 急!!有API接口接入的智能过滤服务嘛! 是否有API接口服务的过滤服务,最好是可以实现实时数据的!!! 解决方案 Web Api --智能Api接口 解决方案二: 是想要针对UGC板块上传前进行实时的接调过滤的接口服务吗,可以去搜索一下网易易盾,是网易旗下今年刚刚对外开放的反垃圾云服务,就是企业通过API接口实现实时过滤的,功能性比较强大的.

大叔也说Xamarin~Android篇~调用远程API接口,发POST请求

原文:大叔也说Xamarin~Android篇~调用远程API接口,发POST请求 Xamarin我们在上节已经教大家如何去部署它的环境了,今天来说一个实际的例子,使用android客户调用.net web api的一个接口,并发送POST请求,当服务端回到请求后做出响应,客户端android将响应的内容输出,并跳换到别一个Activity页面,在新视图上加载网页内容到webView控件上,整个流程结束! 一 在主页面上添加几个表单元素,账号,密码,登陆按钮,并在Activity类的OnCrea

使用 Java Print Service API 在 IBM i 上打印文档

Java Printer Service (JPS) 介绍 JPS (Java Print Service) 是一套为 Java 程序提供 IBM i 上打印服务的 Java 类库.它支持很多不同格式的文档打印,如:PDF,PS,PCL.你可以使用它提供的一些类 来编写关于打印的应用程序.使用时通常分为三步:首先选择合适的打印服务,然后指定打印数据的格式,最 后将打印作业提交给打印服务进行打印. 在 IBM i 服务器上,JPS 对应的 jar 包是 /QIBM/ProdData/OS400/J

java 使用http协议访问api接口,发送json数据

问题描述 java 使用http协议访问api接口,发送json数据 http访问 api接口,http的头需要加入id 和密钥进行验证,发送json格式的数据给应用程序,求大神指教.有没有实例程序可供参考的,谢谢各位了 解决方案 jsp服务器端 变量 = request.getHeader(""http头字段""); 客户端 HashMap<String String> headers = new HashMap<String String>