JAVA中的List里的Map 如何去除重复的Key?

JAVA中的List里的Map 如何去除重复的Key?,第1张

“可以利用Map的纯慧key不重复特性: 遍历List,遍历过程中将List中取出的值作为冲简key保存到做判答一个临时的Map中,Map的value可以自己随意设定。 注意,在保存到Map之前,使用map.get("key")从Map中获取对应是数据,判断是否为null即可判断该List中的值是否...”

本文实例棚指脊讲述了javascript模拟map输出与去除重复项的逗宽方法。分享给大家供大家参考。具体方法如下:

1.Javascriptmap输出

function

Map(){

//

private

var

obj

=

{}

//

空的对象容器,承装键值对

//

put

方法

this.put

=

function(key

,

value){

obj[key]

=

value

//

把键值对绑定到obj对象上

}

//

size

方法

获得map容器的个数

this.size

=

function(){

var

count

=

0

for(var

attr

in

obj){

count++

}

return

count

}

//

get

方法

根据key

取得value

this.get

=

function(key){

if(obj[key]

||

obj[key]

===

0

||

obj[key]

===

false){

return

obj[key]

}

else

{

return

null

}

}

//remove

删除方法

this.remove

=

function(key){

if(obj[key]

||

obj[key]

===

0

||

obj[key]

===

false){

delete

obj[key]

}

}

//

eachMap

变量map容器的方法

this.eachMap

=

function(fn){

for(var

attr

in

obj){

fn(attr,

obj[attr])

}

}

}

//模拟java里的Map

var

m

=

new

Map()

m.put('01'

,

'abc')

m.put('02'

,

false)

m.put('03'

,

true)

m.put('04'

,

new

Date())

//alert(m.size())

//alert(m.get('02'))

//m.remove('03')

//alert(m.get('03'))

m.eachMap(function(key

,

value){

alert(key

+"

:"+

value)

})

2.去除map中重复项

var

arr

=

[2,1,2,10,2,3,5,5,1,10,13]//object

//js对象的特性:在js对象中key是永远不会重复的

/*

var

obj

=

new

Object()

obj.name

=

'z3'

obj.age

=

20

//alert(obj.name)

obj.name

=

'w5'

alert(obj.name)

*/

//

1

把数组转成一个js的对象

//

2

把数链渗组中的值,变成js对象当中的key

//

3

把这个对象

再还原成数组

//

把数组转成对象

function

toObject(arr){

var

obj

=

{}

//

私有的对象

var

j

for(var

i=0

,

j=

arr.length

i<j

i++){

obj[arr[i]]

=

true

}

return

obj

}

//

把这个对象转成数组

function

keys(obj){

var

arr

=

[]

//

私有对象

for(var

attr

in

obj){

if(obj.hasOwnProperty(attr)){//YUI底层代码

arr.push(attr)

}

}

return

arr

}

//综合的方法

去掉数组中的重复项

function

uniq(newarr){

return

keys(toObject(newarr))

}

alert(uniq(arr))

希望本文所述对大家的javascript程序设计有所帮助。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11995089.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存