① java 中怎么返回 Map 接口的子类集合
Map是一个接口对象,HashMap是实现了该接口的哈希对象类,另一个实现Map接口的类是Hashtable(也是哈希对象类)。
Map<?,?>中的两个问号是理解哈希对象的关键点:第一个问号表示“键”的数据类型,第二问号表示“值”的数据类型,键和值的数据类型是任意的。所有实现Map接口的类(也就两个:HashMap、Hashtable)的对象都是基于“键-值”对的形式来存取对象的:
Map<String, Object> hash= new HashMap<String, Object>(); //接口对象用子类实例化,键为String型,值为Object型
hash.put("Name", "张三其"); //取元素
Object obj = hash.get("Name"); //根据键Name返回对应的值
有关哈希对象的深度理解,可以参考数据结构中“哈希表”的知识。
具体对你的应用,可以这样写:
import java.util.HashMap;
import java.util.Map;
public class Test6 {
public static void main(String[] args) {
Test6 obj = new Test6();
Map<String,Object> m = new HashMap<String,Object>();
m = obj.searchBoard();
System.out.println("Name : " + m.get("Name"));
System.out.println("Gender : " + m.get("Gender"));
}
public Map<String,Object> searchBoard(){
Map<String,Object> m = new HashMap<String,Object>();
m.put("Name","张三其");
m.put("Gender", "男");
return m;
}
}
② java中Map类有什么作用,具体怎么用呢
map是以键值对来存储数据的,例如:
Map map = new HashMap();
map.put("移动","10086");
String c = map.get("移动");
结果c="10086”;
简单来说,map就像我们手机的电话本,用map.put("移动","10086"),就是在电话本保存了移动的电话,然后当你想拿移动的电话时候就用String c = map.get("移动");就可以拿到电话号码了。其实学习结合生活实际比较容易理解,也学得快。
③ Java中HashMap和LinkedHashMap以及TreeMap的区别
共同点:
HashMap,LinkedHashMap,TreeMap都属于Map;Map 主要用于存储键(key)值(value)对,根据键得到值,因此键不允许键重复,但允许值重复。专
不同点:
1.HashMap里面存入的键值对属在取出的时候是随机的,也是我们最常用的一个Map.它根据键的HashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度。在Map 中插入、删除和定位元素,HashMap 是最好的选择。
2.TreeMap取出来的是排序后的键值对。但如果您要按自然顺序或自定义顺序遍历键,那么TreeMap会更好。
3. LinkedHashMap 是HashMap的一个子类,如果需要输出的顺序和输入的相同,那么用LinkedHashMap可以实现. (应用场景:购物车等需要顺序的)
④ java Hashtable怎么好像用的地方不多,我开发这么久一直用的hasmMap呢
hashMap去掉了HashTable 的contains方法,但是加上了containsValue()和containsKey()方法。
hashTable同步的,而hashMap是非同步的,效率上逼hashTable要高。
hashMap允许回空键答值,而hashTable不允许。
hashTable是基于陈旧的Dictionary类的,hashMap是Java 1.2引进的Map接口的一个实现
所以,当需要同步时,用hashTable,反之用hashMap。但是,因为在需要时,hashMap可以被同步,hashMap的功能貌似比hashTable的功能更多,而且它不是基于一个陈旧的类的,所以有人认为,在各种情况下,hashMap都优先于hashTable。
以上是我之前面试时在网上搜索整理的,内容均来源于网络。
说句题外话,我觉得,如果你认为使用hashMap多,是因为可能是你刚工作的时候别人用,你也用,你不懂为什么用,你周围的人可能也不懂,慢慢的就养成习惯了。嘿嘿。所以,有些东西不是我们用的不多,而是我们懂得太少。
⑤ java hasmap 功能求助
HashMap是不可以读配置文件的,
Hashtable有个子类Properties 你可以用这个
/**这里测试存取在文件里,当然你的路径里面有文件夹 文件夹必须存在。
* Properties资源配置文件的读写
* 1、key与value只能为字符串
* 2、存储与读取
* setProperty(String key,String value);
* getProperty(String key)
* getProperty(String key,String defaultValue)j
* @author yangqy
*
*/
public class TestProperty {
public static void main(String[] args) throws FileNotFoundException, IOException {
Properties KnownNmber = new Properties();
KnownNmber.setProperty("10000", "号码");
KnownNmber.setProperty("10086", "中国移动");
//存储到e:/others 绝对路径 盘符
KnownNmber.storeToXML(new FileOutputStream(new File("e:/other/test.xml")), "测试");
}
}
//从文件中读取配置
public class TestLoad {
public static void main(String[] args) throws FileNotFoundException, IOException {
Properties properties =new Properties();
properties.loadFromXML(new FileInputStream(new File("e:/other/test.xml")));
System.out.println(properties.getProperty("10086","hello"));
}
}
应该能达到你的效果,你也可以把路径放在你的程序当前路径,你只要用读取的话就是TestLoad类了,xml文件你可以自己创建一个,需要修改的时候直接修改里面的内容,望采纳,有问题请追问。