Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright (C) 2007 The Guava Authors
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   * http://www.apache.org/licenses/LICENSE-2.0
   *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 package com.google.common.collect;
 
 
Multiset implementation backed by a java.util.HashMap.

Author(s):
Kevin Bourrillion
Jared Levy
Since:
2.0 (imported from Google Collections Library)
 
 @GwtCompatible(serializable = true, emulated = true)
 public final class HashMultiset<E> extends AbstractMapBasedMultiset<E> {

  
Creates a new, empty HashMultiset using the default initial capacity.
 
   public static <E> HashMultiset<E> create() {
     return new HashMultiset<E>();
   }

  
Creates a new, empty HashMultiset with the specified expected number of distinct elements.

Parameters:
distinctElements the expected number of distinct elements
Throws:
java.lang.IllegalArgumentException if distinctElements is negative
 
   public static <E> HashMultiset<E> create(int distinctElements) {
     return new HashMultiset<E>(distinctElements);
   }

  
Creates a new HashMultiset containing the specified elements.

This implementation is highly efficient when elements is itself a Multiset.

Parameters:
elements the elements that the multiset should contain
 
   public static <E> HashMultiset<E> create(Iterable<? extends E> elements) {
     HashMultiset<E> multiset =
         create(Multisets.inferDistinctElements(elements));
     Iterables.addAll(multisetelements);
     return multiset;
   }
 
   private HashMultiset() {
     super(new HashMap<E, Count>());
   }
 
   private HashMultiset(int distinctElements) {
     super(Maps.<E, Count>newHashMapWithExpectedSize(distinctElements));
   }

  

SerialData:
the number of distinct elements, the first element, its count, the second element, its count, and so on
 
   @GwtIncompatible("java.io.ObjectOutputStream")
   private void writeObject(ObjectOutputStream streamthrows IOException {
     stream.defaultWriteObject();
     Serialization.writeMultiset(thisstream);
   }
 
   @GwtIncompatible("java.io.ObjectInputStream")
   private void readObject(ObjectInputStream stream)
       throws IOExceptionClassNotFoundException {
     stream.defaultReadObject();
     int distinctElements = Serialization.readCount(stream);
     setBackingMap(
         Maps.<E, Count>newHashMapWithExpectedSize(distinctElements));
     Serialization.populateMultiset(thisstreamdistinctElements);
   }
 
   @GwtIncompatible("Not needed in emulated source.")
  private static final long serialVersionUID = 0;
New to GrepCode? Check out our FAQ X