Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (309)
Collections:
Other Resources:
commons-collections4-4.4-sources.jar - Apache Commons Collections
commons-collections4-4.4-sources.jar is the source JAR file for Apache Commons Collections 4.2, which provides additional collection handling functionalities on top of JDK library.
JAR File Size and Download Location:
JAR name: commons-collections4-4.4-sources.jar Target JDK version: 8 Dependency: None File size: 715,541 bytes Release date: 05-Jul-2019 Download: Apache Commons Collections
✍: FYIcenter.com
⏎ org/apache/commons/collections4/MultiSet.java
/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You 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 org.apache.commons.collections4; import java.util.Collection; import java.util.Iterator; import java.util.Set; /** * Defines a collection that counts the number of times an object appears in * the collection. * <p> * Suppose you have a MultiSet that contains <code>{a, a, b, c}</code>. * Calling {@link #getCount(Object)} on <code>a</code> would return 2, while * calling {@link #uniqueSet()} would return <code>{a, b, c}</code>. * </p> * * @param <E> the type held in the multiset * @since 4.1 */ public interface MultiSet<E> extends Collection<E> { /** * Returns the number of occurrences of the given object currently * in the MultiSet. If the object does not exist in the multiset, * return 0. * * @param object the object to search for * @return the number of occurrences of the object, zero if not found */ int getCount(Object object); /** * Sets the number of occurrences of the specified object in the MultiSet * to the given count. * <p> * If the provided count is zero, the object will be removed from the * {@link #uniqueSet()}. * * @param object the object to update * @param count the number of occurrences of the object * @return the number of occurrences of the object before this operation, zero * if the object was not contained in the multiset * @throws IllegalArgumentException if count is negative */ int setCount(E object, int count); /** * Adds one copy of the specified object to the MultiSet. * <p> * If the object is already in the {@link #uniqueSet()} then increment its * count as reported by {@link #getCount(Object)}. Otherwise add it to the * {@link #uniqueSet()} and report its count as 1. * * @param object the object to add * @return <code>true</code> always, as the size of the MultiSet is increased * in any case */ @Override boolean add(E object); /** * Adds a number of occurrences of the specified object to the MultiSet. * <p> * If the object is already in the {@link #uniqueSet()} then increment its * count as reported by {@link #getCount(Object)}. Otherwise add it to the * {@link #uniqueSet()} and report its count as <code>occurrences</code>. * * @param object the object to add * @param occurrences the number of occurrences to add, may be zero, * in which case no change is made to the multiset * @return the number of occurrences of the object in the multiset before * this operation; possibly zero * @throws IllegalArgumentException if occurrences is negative */ int add(E object, int occurrences); /** * Removes one occurrence of the given object from the MultiSet. * <p> * If the number of occurrences after this operations is reduced * to zero, the object will be removed from the {@link #uniqueSet()}. * * @param object the object to remove * @return <code>true</code> if this call changed the collection */ @Override boolean remove(Object object); /** * Removes a number of occurrences of the specified object from the MultiSet. * <p> * If the number of occurrences to remove is greater than the actual number of * occurrences in the multiset, the object will be removed from the multiset. * * @param object the object to remove * @param occurrences the number of occurrences to remove, may be zero, * in which case no change is made to the multiset * @return the number of occurrences of the object in the multiset * before the operation; possibly zero * @throws IllegalArgumentException if occurrences is negative */ int remove(Object object, int occurrences); /** * Returns a {@link Set} of unique elements in the MultiSet. * <p> * Uniqueness constraints are the same as those in {@link java.util.Set}. * <p> * The returned set is backed by this multiset, so any change to either * is immediately reflected in the other. Only removal operations are * supported, in which case all occurrences of the element are removed * from the backing multiset. * * @return the Set of unique MultiSet elements */ Set<E> uniqueSet(); /** * Returns a {@link Set} of all entries contained in the MultiSet. * <p> * The returned set is backed by this multiset, so any change to either * is immediately reflected in the other. * * @return the Set of MultiSet entries */ Set<Entry<E>> entrySet(); /** * Returns an {@link Iterator} over the entire set of members, * including copies due to cardinality. This iterator is fail-fast * and will not tolerate concurrent modifications. * * @return iterator over all elements in the MultiSet */ @Override Iterator<E> iterator(); /** * Returns the total number of items in the MultiSet. * * @return the total size of the multiset */ @Override int size(); /** * Returns <code>true</code> if the MultiSet contains at least one * occurrence for each element contained in the given collection. * * @param coll the collection to check against * @return <code>true</code> if the MultiSet contains all the collection */ @Override boolean containsAll(Collection<?> coll); /** * Remove all occurrences of all elements from this MultiSet represented * in the given collection. * * @param coll the collection of elements to remove * @return <code>true</code> if this call changed the multiset */ @Override boolean removeAll(Collection<?> coll); /** * Remove any elements of this MultiSet that are not contained in the * given collection. * * @param coll the collection of elements to retain * @return <code>true</code> if this call changed the multiset */ @Override boolean retainAll(Collection<?> coll); /** * Compares this MultiSet to another object. * <p> * This MultiSet equals another object if it is also a MultiSet * that contains the same number of occurrences of the same elements. * * @param obj the object to compare to * @return true if equal */ @Override boolean equals(Object obj); /** * Gets a hash code for the MultiSet compatible with the definition of equals. * The hash code is defined as the sum total of a hash code for each element. * The per element hash code is defined as * <code>(e==null ? 0 : e.hashCode()) ^ noOccurances)</code>. * * @return the hash code of the MultiSet */ @Override int hashCode(); /** * An unmodifiable entry for an element and its occurrence as contained in a MultiSet. * <p> * The {@link MultiSet#entrySet()} method returns a view of the multiset whose elements * implements this interface. * * @param <E> the element type */ interface Entry<E> { /** * Returns the element corresponding to this entry. * * @return the element corresponding to this entry */ E getElement(); /** * Returns the number of occurrences for the element of this entry. * * @return the number of occurrences of the element */ int getCount(); /** * Compares the specified object with this entry for equality. * Returns true if the given object is also a multiset entry * and the two entries represent the same element with the same * number of occurrences. * <p> * More formally, two entries <code>e1</code> and <code>e2</code> represent * the same mapping if * <pre> * (e1.getElement()==null ? e2.getElement()==null * : e1.getElement().equals(e2.getElement())) && * (e1.getCount()==e2.getCount()) * </pre> * * @param o object to be compared for equality with this multiset entry * @return true if the specified object is equal to this multiset entry */ @Override boolean equals(Object o); /** * Returns the hash code value for this multiset entry. * <p> * The hash code of a multiset entry <code>e</code> is defined to be: * <pre> * (e==null ? 0 : e.hashCode()) ^ noOccurances) * </pre> * * @return the hash code value for this multiset entry */ @Override int hashCode(); } }
⏎ org/apache/commons/collections4/MultiSet.java
Or download all of them as a single archive file:
File name: commons-collections4-4.4-sources.jar File size: 715541 bytes Release date: 2019-07-05 Download
⇒ Download and Install commons-collections4-4.2-bin.zip
⇐ What Is commons-collections4-4.4.jar
2020-12-15, 113686👍, 0💬
Popular Posts:
This package is the backport of java.util.concurrent API, introduced in Java 5.0 and further refined...
JDK 17 jdk.jdi.jmod is the JMOD file for JDK 17 JDI (Java Debug Interface) tool. JDK 17 JDI tool com...
Apache BCEL Source Code Files are inside the Apache BCEL source package file like bcel-6.5.0-src.zip...
XStream is a simple library to serialize objects to XML and back again. JAR File Size and Download L...
JDK 8 jconsole.jar is the JAR file for JDK 8 JConsole, which is a graphical monitoring tool to monit...