0
Watch
0
Star
1
Fork
0
Issue

A hashmap data structure for Javascript with array and linked list(Same as Java)

tjfy1992
tjfy1992
pushedAt 4 years ago

tjfy1992/Hashmap-for-Javascript

Hashmap-for-Javascript

A hashmap data structure for Javascript with array and linked list(Same as Java).
Keys should be string. Values could be any type.

Test input:

 var hs = new HashMap();
    hs.put('asd', 123)
    hs.put('bqwe', 456)
    hs.put('czx', 789)
    hs.put('dcv', {a: 1, b: 2})
    hs.put('edf', 123)
    hs.put('fsdf', 456)
    hs.put('gdf', 789)
    hs.put('hds', {a: 1, b: 2})
    hs.put('idc', 123)
    hs.put('jdf', 456)
    hs.put('ker', 789)
    hs.put('lsd', [1, 2, 3])
    hs.put('mvr', {a: 1, b: 2, c: {d: 2}})
    hs.put("vvv", null)
    hs.put('', 'asdasd')
    console.log(hs.get(''))
    console.log(hs.get("qqq"))

    console.log(hs.containsKey('asd'))
    console.log(hs.get('asd'))

    hs.remove('asd')
    console.log(hs.containsKey('asd'))

    console.log(hs.containsValue({a: 1, b: 2, c: {d: 2}}))
    console.log(hs.containsValue(123))

    console.log(hs.get('asd'))
    console.log(hs.size())
    var en = hs.getEntries();

    console.log(en)

    en.forEach((item) => {
        console.log(item.key)
        console.log(item.value)
    })

    hs.clear();
    console.log(hs.isEmpty())

Test output:

asdasd
undefined
true
123
false
true
true
undefined
14
[Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object]

asdasd
hds
Object {a: 1, b: 2}
gdf
789
jdf
456
mvr
Object {a: 1, b: 2, c: Object}
fsdf
456
dcv
Object {a: 1, b: 2}
idc
123
bqwe
456
lsd
[1, 2, 3]
czx
789
ker
789
edf
123
vvv
null
true
ucloud ads