mirror of
https://github.com/emirpasic/gods
synced 2024-11-06 15:20:25 +00:00
29 lines
1.5 KiB
Go
29 lines
1.5 KiB
Go
|
// Copyright (c) 2015, Emir Pasic. All rights reserved.
|
||
|
// Use of this source code is governed by a BSD-style
|
||
|
// license that can be found in the LICENSE file.
|
||
|
|
||
|
package examples
|
||
|
|
||
|
import (
|
||
|
"github.com/emirpasic/gods/maps/treebidimap"
|
||
|
"github.com/emirpasic/gods/utils"
|
||
|
)
|
||
|
|
||
|
// TreeBidiMapExample to demonstrate basic usage of TreeBidiMap
|
||
|
func TreeBidiMapExample() {
|
||
|
m := treebidimap.NewWith(utils.IntComparator, utils.StringComparator) // empty
|
||
|
m.Put(1, "x") // 1->x
|
||
|
m.Put(3, "b") // 1->x, 3->b (ordered)
|
||
|
m.Put(1, "a") // 1->a, 3->b (ordered)
|
||
|
m.Put(2, "b") // 1->a, 2->b (ordered)
|
||
|
_, _ = m.GetKey("a") // 1, true
|
||
|
_, _ = m.Get(2) // b, true
|
||
|
_, _ = m.Get(3) // nil, false
|
||
|
_ = m.Values() // []interface {}{"a", "b"} (ordered)
|
||
|
_ = m.Keys() // []interface {}{1, 2} (ordered)
|
||
|
m.Remove(1) // 2->b
|
||
|
m.Clear() // empty
|
||
|
m.Empty() // true
|
||
|
m.Size() // 0
|
||
|
}
|