func New[K comparable, V any](capacity int) *LRUCache[K, V] {
	multiMap := LRUCache[K, V]{
		capacity:   capacity,
		linkedList: list.New(),
		hashMap:    make(map[K]*list.Element),
	}
	return &multiMap
}
// New factory that creates a new LRU Cache
New factory that creates a new LRU Cache
// New factory that creates a new LRU Cache
func New[K comparable, V any](capacity int) *LRUCache[K, V] {
	multiMap := LRUCache[K, V]{
		capacity:   capacity,
		linkedList: list.New(),
		hashMap:    make(map[K]*list.Element),
	}
	return &multiMap
}
func New [ K comparable , V any ] ( capacity int ) * LRUCache [ K , V ] { multiMap := LRUCache [ K , V ] { capacity : capacity , linkedList : list . New ( ) , hashMap : make ( map [ K ] * list . Element ) , } return & multiMap }
New factory that creates a new LRU Cache
New factory that creates a new LRU Cache