linkedhashmap java_Java LinkedHashMap类

Java LinkedHashMap类扩展HashMap类并按照插入顺序维护映射中条目的链接列表。这允许在映射上进行插入顺序迭代。也就是说,在迭代LinkedHashMap时,元素将按插入顺序返回。

还可以创建一个LinkedHashMap对象,它按照上次访问的顺序返回元素。

以下是LinkedHashMap类支持的构造函数列表。

编号

构造函数

描述

1

LinkedHashMap()

此构造函数构造默认的LinkedHashMap对象。

2

LinkedHashMap(Map m)

此构造函数使用给定Map类m中的元素初始化LinkedHashMap类。

3

LinkedHashMap(int capacity)

此构造函数初始化具有给定容量的LinkedHashMap。

4

LinkedHashMap(int capacity, float fillRatio)

此构造函数初始化容量和填充率。容量和填充率的含义与HashMap相同。

5

LinkedHashMap(int capacity, float fillRatio, boolean Order)

此构造函数用于指定元素是按插入顺序存储在链接列表中,还是按上次访问顺序存储。如果Order为true,则使用访问顺序。如果Order为false,则使用插入顺序。

除了从父类继承的方法之外,LinkedHashMap类还定义了以下方法 -

编号

方法

描述

1

void clear()

从此映射中删除所有映射。

2

boolean containsKey(Object key)

如果此映射将一个或多个键映射到指定值,则返回true。

3

Object get(Object key)

返回此映射将指定键映射到的值。

4

protected boolean removeEldestEntry(Map.Entry eldest)

如果此映射应删除其最旧条目,则返回true。

示例

以下程序演示了如何使用此集合支持的几种方法 -

import java.util.*;

/* 文件 : LinkedHashMapDemo.java */

public class LinkedHashMapDemo {

public static void main(String args[]) {

// Create a hash map

LinkedHashMap lhm = new LinkedHashMap();

// Put elements to the map

lhm.put("Maxsu", new Double(13434.00));

lhm.put("李小双", new Double(1223.29));

lhm.put("张大为", new Double(13178.40));

lhm.put("王利", new Double(9229.72));

lhm.put("刘德思", new Double(-1689.98));

// Get a set of the entries

Set set = lhm.entrySet();

// Get an iterator

Iterator i = set.iterator();

// Display elements

while(i.hasNext()) {

Map.Entry me = (Map.Entry)i.next();

System.out.print(me.getKey() + ": ");

System.out.println(me.getValue());

}

System.out.println();

// Deposit 1000 into Maxsu's account

double balance = ((Double)lhm.get("Maxsu")).doubleValue();

lhm.put("Maxsu", new Double(balance + 11000));

System.out.println("Maxsu's new balance: " + lhm.get("Maxsu"));

}

}

执行上面示例代码,得到以下结果 -

Maxsu: 13434.0

李小双: 1223.29

张大为: 13178.4

王利: 9229.72

刘德思: -1689.98

Maxsu's new balance: 24434.0

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值