The document discusses Java collections framework which includes core collection interfaces like Collection, List, Set, and Map. It describes what each interface represents and common implementations of each interface like ArrayList, LinkedList, HashSet, TreeSet, HashMap and TreeMap. The key benefits of using collections framework are reducing programming effort, increasing program speed and quality, allowing interoperability between APIs and reusability of code.
core & advanced java classes in Mumbai
best core & advanced java classes in Mumbai with job assistance.
our features are:
expert guidance by it industry professionals
lowest fees of 5000
practical exposure to handle projects
well equiped lab
after course resume writing guidance
core & advanced java classes in Mumbai
best core & advanced java classes in Mumbai with job assistance.
our features are:
expert guidance by it industry professionals
lowest fees of 5000
practical exposure to handle projects
well equiped lab
after course resume writing guidance
In this session you will learn:
List – ArrayList, LinkedList
Set – HashSet, LinkedHashSet, TreeSet
For more information: https://www.mindsmapped.com/courses/software-development/become-a-java-developer-hands-on-training/
To learn important concept of Collection and its handling plus its advantages and different class & child class of Collection and their implementations. Important interview questions of the collection.
This presentation introduces some concepts about the Java Collection framework. These slides introduce the following concepts:
- Collections and iterators
- Linked list and array list
- Hash set and tree set
- Maps
- The collection framework
The presentation is took from the Java course I run in the bachelor-level informatics curriculum at the University of Padova.
In this core java training session, you will learn Collections – Lists, Sets. Topics covered in this session are:
• List – ArrayList, LinkedList
• Set – HashSet, LinkedHashSet, TreeSet
For more information about this course visit on this link: https://www.mindsmapped.com/courses/software-development/learn-java-fundamentals-hands-on-training-on-core-java-concepts/
Start programming in a more functional style in Java. This is the second in a two part series on lambdas and streams in Java 8 presented at the JoziJug.
Java Collections Framework Inroduction with Video TutorialMarcus Biel
This presentation is part of my free Java 8 course focusing on clean code principles. In this piece, you will be given a high-level introduction of the Java Collections Framework (JCF).
You can find the full article with lots of other additional materials here -
http://www.marcus-biel.com/java-collections-framework/
Iterator - a powerful but underappreciated design patternNitin Bhide
Iterator design pattern is described in GoF ‘Design Patterns’ book. It is used at many places (e.g. Sql Cursor is a ‘iterator’), C++ standard template library uses iterators heavily. .Net Linq interfaces are based IEnumerable (i.e. iterator). However, I don’t see projects creating/using ‘custom’ iterator classes. Many problems can be solved ‘elegantly’ by use of customized iterators. This talk is about ‘power of iterators’ and how custom iterators can solve common problems and help create modular/reusable code components.
Key Discussion Points
Typical examples of iterators in common use.
Kind of problems that can be ‘elegantly’ solved with iterators
When to use custom iterators?
How write custom iterators in C++/C#
From webinar I did on TechGig
http://www.techgig.com/expert-speak/Iterator-a-powerful-but-underappreciated-pattern-449
In this session you will learn:
List – ArrayList, LinkedList
Set – HashSet, LinkedHashSet, TreeSet
For more information: https://www.mindsmapped.com/courses/software-development/become-a-java-developer-hands-on-training/
To learn important concept of Collection and its handling plus its advantages and different class & child class of Collection and their implementations. Important interview questions of the collection.
This presentation introduces some concepts about the Java Collection framework. These slides introduce the following concepts:
- Collections and iterators
- Linked list and array list
- Hash set and tree set
- Maps
- The collection framework
The presentation is took from the Java course I run in the bachelor-level informatics curriculum at the University of Padova.
In this core java training session, you will learn Collections – Lists, Sets. Topics covered in this session are:
• List – ArrayList, LinkedList
• Set – HashSet, LinkedHashSet, TreeSet
For more information about this course visit on this link: https://www.mindsmapped.com/courses/software-development/learn-java-fundamentals-hands-on-training-on-core-java-concepts/
Start programming in a more functional style in Java. This is the second in a two part series on lambdas and streams in Java 8 presented at the JoziJug.
Java Collections Framework Inroduction with Video TutorialMarcus Biel
This presentation is part of my free Java 8 course focusing on clean code principles. In this piece, you will be given a high-level introduction of the Java Collections Framework (JCF).
You can find the full article with lots of other additional materials here -
http://www.marcus-biel.com/java-collections-framework/
Iterator - a powerful but underappreciated design patternNitin Bhide
Iterator design pattern is described in GoF ‘Design Patterns’ book. It is used at many places (e.g. Sql Cursor is a ‘iterator’), C++ standard template library uses iterators heavily. .Net Linq interfaces are based IEnumerable (i.e. iterator). However, I don’t see projects creating/using ‘custom’ iterator classes. Many problems can be solved ‘elegantly’ by use of customized iterators. This talk is about ‘power of iterators’ and how custom iterators can solve common problems and help create modular/reusable code components.
Key Discussion Points
Typical examples of iterators in common use.
Kind of problems that can be ‘elegantly’ solved with iterators
When to use custom iterators?
How write custom iterators in C++/C#
From webinar I did on TechGig
http://www.techgig.com/expert-speak/Iterator-a-powerful-but-underappreciated-pattern-449
Obama read my lips -obama fraudgate (serbian)VogelDenise
Дакле, у земљи као што су Сједињене Америчке Државе, како су две породице (Цлинтон и Бусх) и њихови адвокати / адвоката (Бејкер Донелсон Беарман Колдвел и Берковиц) дозвољено да остане на власти, отети Владу и тероришу нације (домаћи и страни) и држите Грађани таоци таквих терористичких аката? Уз њихов родјак (Барак Обама) у Белој кући - сада је време да се збаци таквих терористичких режима: http://www.slideshare.net/VogelDenise/serbian-040412
ДА, Сједињене Америчке Државе против КИНА Сукоб је СВЕ део игре у организацији САД корумпирана влада америчких званичника и Кине лидери - односно као што је приказано у овом документу обману Демократске Републичка против превара у организацији Бакер Донелсон и њихови завереници / завереници!
Надамо се, овај документ ће послужити као подсетник зашто "монопола" забрањена, и илегално! КАКО Сједињене Америчке Државе покушао да монополизује Међународном влада и финансијских институција која је довела је до економског и финансијског колапса!
The internet has revolutionized the manner by which we can represent ourselves online by providing us the ability to expose our data, experiences and skills online via blogs, wikis and other crowdsourcing venues. As a result it is possible to contribute to the community while developing a social profile as a scientist. While research scientists are primarily still measured by their contributions to science using the classical method of citation statistics, a number of freely available online tools are now available for scientists to develop their online profile. This is particularly important at a time when alternative measures of contributions to science are being developed – the so-called world of Alternative Metrics. The concept of “rewards and recognition” for participation will be discussed in terms of how the Royal Society of Chemistry intends to add to the alternative metrics data flow to acknowledge scientists for their contributions. This presentation will provide an overview of the myriad of tools available to you at any stage of your career and will hopefully encourage you to actively manage your profile as a scientist as the resume of the future will likely be summarized by your activities and profiles online. I will highlight how to ensure that your personal social media profiles can be made engaging to potential collaborators and employers, how social media can be utilized to engage people into events and how to drive traffic to your own sites should you choose to set them up. I will review how my own profiles cover my diverse career in chemistry from “lab-rat” to software product manager, to entrepreneur and into the publishing world and my personal efforts to try and popularize science using some of the social media tools.
Green Bonds in Brief: Risk, Reward, and Opportunity, is a report from As You Sow and the Cornell Institute of Public Affairs. Green bonds are exciting financial instruments that are directing funds to environmental and climate projects.
Slides to understand and present Advanced .net topics with c# language. Topics like delegates, Indexer, Reflection API, Attributes, Collections in c#, File and I/O manipulation etc. are described with examples too.
The Collection in Java is a framework that provides an architecture to store and manipulate the group of objects.
Java Collections can achieve all the operations that you perform on a data such as searching, sorting, insertion, manipulation, and deletion.
Java Collection means a single unit of objects. Java Collection framework provides many interfaces (Set, List, Queue, Deque) and classes (ArrayList, Vector, LinkedList, PriorityQueue, HashSet, LinkedHashSet, TreeSet).
Woxa Technologies have great industrial exoerts in java field they work on the live projects with students they are not teacher they are industrial trainer.
for more information 8471003400
ZeroSpace is a part of Woxa Technology where industrial trainer are ready to trained you.Take a demo class and choose your future in the programming field. We offer to learn in latest technology with live project which is demanding.
feel free to contact us-: 8471003400
The Collection in Java is a framework that provides an architecture to store and manipulate the group of objects.
All the operations that you perform on a data such as searching, sorting, insertion, manipulation, deletion, etc. can be achieved by Java Collections.
Java Collection means a single unit of objects. Java Collection framework provides many interfaces (Set, List, Queue, Deque, etc.) and classes (ArrayList, Vector, LinkedList, PriorityQueue, HashSet, LinkedHashSet, TreeSet, etc.).
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML has been designed for ease of implementation and for interoperability with both SGML and HTML.
Palestine last event orientationfvgnh .pptxRaedMohamed3
An EFL lesson about the current events in Palestine. It is intended to be for intermediate students who wish to increase their listening skills through a short lesson in power point.
Unit 8 - Information and Communication Technology (Paper I).pdfThiyagu K
This slides describes the basic concepts of ICT, basics of Email, Emerging Technology and Digital Initiatives in Education. This presentations aligns with the UGC Paper I syllabus.
The Art Pastor's Guide to Sabbath | Steve ThomasonSteve Thomason
What is the purpose of the Sabbath Law in the Torah. It is interesting to compare how the context of the law shifts from Exodus to Deuteronomy. Who gets to rest, and why?
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdfTechSoup
In this webinar you will learn how your organization can access TechSoup's wide variety of product discount and donation programs. From hardware to software, we'll give you a tour of the tools available to help your nonprofit with productivity, collaboration, financial management, donor tracking, security, and more.
The Roman Empire A Historical Colossus.pdfkaushalkr1407
The Roman Empire, a vast and enduring power, stands as one of history's most remarkable civilizations, leaving an indelible imprint on the world. It emerged from the Roman Republic, transitioning into an imperial powerhouse under the leadership of Augustus Caesar in 27 BCE. This transformation marked the beginning of an era defined by unprecedented territorial expansion, architectural marvels, and profound cultural influence.
The empire's roots lie in the city of Rome, founded, according to legend, by Romulus in 753 BCE. Over centuries, Rome evolved from a small settlement to a formidable republic, characterized by a complex political system with elected officials and checks on power. However, internal strife, class conflicts, and military ambitions paved the way for the end of the Republic. Julius Caesar’s dictatorship and subsequent assassination in 44 BCE created a power vacuum, leading to a civil war. Octavian, later Augustus, emerged victorious, heralding the Roman Empire’s birth.
Under Augustus, the empire experienced the Pax Romana, a 200-year period of relative peace and stability. Augustus reformed the military, established efficient administrative systems, and initiated grand construction projects. The empire's borders expanded, encompassing territories from Britain to Egypt and from Spain to the Euphrates. Roman legions, renowned for their discipline and engineering prowess, secured and maintained these vast territories, building roads, fortifications, and cities that facilitated control and integration.
The Roman Empire’s society was hierarchical, with a rigid class system. At the top were the patricians, wealthy elites who held significant political power. Below them were the plebeians, free citizens with limited political influence, and the vast numbers of slaves who formed the backbone of the economy. The family unit was central, governed by the paterfamilias, the male head who held absolute authority.
Culturally, the Romans were eclectic, absorbing and adapting elements from the civilizations they encountered, particularly the Greeks. Roman art, literature, and philosophy reflected this synthesis, creating a rich cultural tapestry. Latin, the Roman language, became the lingua franca of the Western world, influencing numerous modern languages.
Roman architecture and engineering achievements were monumental. They perfected the arch, vault, and dome, constructing enduring structures like the Colosseum, Pantheon, and aqueducts. These engineering marvels not only showcased Roman ingenuity but also served practical purposes, from public entertainment to water supply.
Instructions for Submissions thorugh G- Classroom.pptxJheel Barad
This presentation provides a briefing on how to upload submissions and documents in Google Classroom. It was prepared as part of an orientation for new Sainik School in-service teacher trainees. As a training officer, my goal is to ensure that you are comfortable and proficient with this essential tool for managing assignments and fostering student engagement.
The Indian economy is classified into different sectors to simplify the analysis and understanding of economic activities. For Class 10, it's essential to grasp the sectors of the Indian economy, understand their characteristics, and recognize their importance. This guide will provide detailed notes on the Sectors of the Indian Economy Class 10, using specific long-tail keywords to enhance comprehension.
For more information, visit-www.vavaclasses.com
1. Topics
• What is and Why Collections?
• Core Collection Interfaces
• Implementations
• Algorithms
• Custom Implementations
• Interoperability
TheAndroid-mania.com
2. What is a Collection?
• A “collection” object — sometimes called a container
— is simply an object that groups multiple elements
into a single unit.
• Collections are used to store, retrieve, manipulate,
and communicate aggregate data
> Typically, they represent data items that form a natural group,
such as a poker hand (a collection of cards), a mail folder (a
collection of letters), or a telephone directory (a mapping of
names to phone numbers).
TheAndroid-mania.com
3. What is a Collection Framework?
• A collections framework is a unified architecture for
representing and manipulating collections
• All collections frameworks contain the following:
> Interfaces
> Implementations
> Algorithms
TheAndroid-mania.com
4. Benefits of Collection Framework
• Reduces programming effort
• Increases program speed and quality
• Allows interoperability among unrelated APIs
> The collection interfaces are the vernacular by which APIs
pass collections back and forth
• Reduce effort to learn and use new APIs
• Reduces effort to design new APIs
• Fosters software reuse
> New data structures that conform to the standard collection
interfaces are by nature reusable
TheAndroid-mania.com
6. Interfaces
• Collection interfaces are abstract data types that
represent collections
> Collection interfaces are in the form of Java interfaces
• Interfaces allow collections to be manipulated
independently of the implementation details of their
representation
> Polymorphic behavior
• In Java programming language (and other objectoriented languages),
interfaces generally form a
hierarchy
> You choose one that meets your need as a type
TheAndroid-mania.com
9. Implementations
• Implementations are the data objects used to store
collections, which implement the interfaces
• Each of the general-purpose implementations (you
will see in the following slide) provides all optional
operations contained in its interface
• Java Collections Framework also provides several
special-purpose implementations for situations that
require nonstandard performance, usage
restrictions, or other unusual behavior
TheAndroid-mania.com
10. General Purpose Implementations
interfaces Implementations
Hash Table Resizable
Array
Tree Linked List HashTbale
+ Linked List
Set Hash Set Tree Set Linked Hash
Set
List Array List Linked List
Queue
Map Hash Map Tree Map Linked Hash
Map
TheAndroid-mania.com
11. Algorithms
• These are the methods that perform useful
computations, such as searching and sorting, on
objects that implement collection interfaces
• The algorithms are said to be polymorphic: that is,
the same method can be used on many different
implementations of the appropriate collection
interface
> In essence, algorithms are reusable functionality.
TheAndroid-mania.com
13. Core Collection Interfaces Hierarchy
Collection
Set List Queue
Sorted
Set
Map
Sorted Map
TheAndroid-mania.com
14. Core Collection Interfaces
• Core collection interfaces are the foundation of the
Java Collections Framework
• Core collection interfaces form a inheritance
hierarchy among themselves
> You can create a new Collection interface from them (highly likely
you don't have to)
TheAndroid-mania.com
16. “Collection” Interface
• The root of the collection hierarchy
• Is the least common denominator that all collection
implement
> Every collection object is a type of Collection interface
• Is used to pass collection objects around and to
manipulate them when maximum generality is
desired
> Use Collection interface as a type
• JDK doesn't provide any direct implementations of
this interface but provides implementations of more
specific sub interfaces, such as Set and List.
TheAndroid-mania.com
18. Example
import java.util.*;
import java.util.Collection;
public class collectioninterface {
public static void main(String[] args) {
Collection collection = new ArrayList();
collection.add("Dev");
collection.add("Manuals");
System.out.print(" Elements Of the Array List are ");
System.out.print(collection + ".");
}
}
TheAndroid-mania.com
19. add() and remove() methods of
Collection Interface
• The add() method is defined generally enough so
that it makes sense for collections that allow
duplicates as well as those that don't
• It guarantees that the Collection will contain the
specified element after the call completes, and
returns true if the Collection changes as a result of
the call.
> add() method of Set interface follows “no duplicate” rule
TheAndroid-mania.com
21. Two Schemes of Traversing
Collections
• for-each
> The for-each construct allows you to concisely traverse a
collection or array using a for loop
for (Object o: collection)
System.out.println(o);
• Iterator
> An Iterator is an object that enables you to traverse through a
collection and to remove elements from the collection
selectively, if desired
TheAndroid-mania.com
22. Iterator
Iterator means an Object with which we can travel all through a range
of elements.
It works like a Pointer. In database, Sometimes Iterator is called a
Cursor.
Class signature : Public interface Iterator
Enumeration interface is replaced by iterator in collections frame
work.the advantages over Enumerations:
Iterator allow the caller to remove elements from the underlying
collection during the iteration with well-defined semantics.
Method name have been improved.
We can print from any index number , but need not all the elements.
TheAndroid-mania.com
23. Iterator Interface
public interface Iterator {
boolean hasNext();
Object next();
void remove(); //optional
}
• hasNext() method returns true if the iteration has more elements
• next() method returns the next element in the iteration
• remove() is the only safe way to modify a collection during
iteration; the behavior is unspecified if the underlying collection is
modified in any other way while the iteration is in progress
TheAndroid-mania.com
24. Use Iterator over for-each when you need
to
• Remove the current element
> The for-each construct hides the iterator, so you cannot call
remove
> Therefore, the for-each construct is not usable for filtering.
static void filter(Collection<?> c) {
for (Iterator<?> it = c.iterator(); it.hasNext(); )
if (!cond(it.next()))
it.remove();
}
• Iterate over multiple collections in parallel
TheAndroid-mania.com
25. List Iterator Interface
List iterator is an interface that contains methods to retrieve the
elements from a collection object, both in forward and reverse
directions.
It has following methods:
boolean hasNext(); returns true if the List Iterator has more elements when
traversing the list in the forward direction.
boolean hasPrevious(); returns true if the List Iterator has more elements when
traversing the list in the reverse direction.
element next(); returns the next element.
element previous(); returns the previous element in the list.
void remove(); removes from the list the last element that was returned.
TheAndroid-mania.com
27. “List” Interface
• An ordered collection (sometimes called a
sequence)
• Lists can contain duplicate elements
• The user of a List generally has precise control over
where in the list each element is inserted and can
access elements by their integer index (position)
> If you've used Vector, you're already familiar with the general basics
of List
TheAndroid-mania.com
28. Additional Operations Supported by
“List” Interface over “Collection”
• Positional access — manipulates elements based
on their numerical position in the list
• Search — searches for a specified object in the list
and returns its numerical position
• Iteration — extends Iterator semantics to take
advantage of the list's sequential nature
• Range-view — performs arbitrary range operations
on the list.
TheAndroid-mania.com
29. “List” Interface
public interface List<E> extends Collection<E> {
// Positional access
E get(int index);
E set(int index, E element); //optional
boolean add(E element); //optional
void add(int index, E element); //optional
E remove(int index); //optional
boolean addAll(int index,
Collection<? extends E> c); //optional
// Search
int indexOf(Object o);
int lastIndexOf(Object o);
// Iteration
ListIterator<E> listIterator();
ListIterator<E> listIterator(int index);
// Range-view TheAndroid-mania.com
30. Implementations of “List” Interface
• ArrayList
> Offers constant-time positional access
> Fast
> Think of ArrayList as Vector without the synchronization
overhead
> Most commonly used implementation
• LinkedList
> Use it you frequently add elements to the beginning of the List
or iterate over the List to delete elements from its interior
TheAndroid-mania.com
31. “Array List”
ArrayList is a Sub class of AbstractList and implements List.
Signature:
Array List includes a feature called Dynamic Arrays-memory is
dynamically allotted and re-allotted to accommodate all the
elements.
Array list is not Synchronised.
public class ArrayList extends AbstractList implements List, Cloneable,Serializable
TheAndroid-mania.com
33. Linked List
A linked List contains a group of elements in the form of nodes.
Each node will have 3 fields
Data Field contains data
And
the two Link fields contain references to previous and next nodes.
Linked List is very convenient to store data. Inserting the elements
into the linked list and removing the elements from the linked list is
done quickly and takes the same amount of time.
TheAndroid-mania.com
35. “Set” Interface
• A collection that cannot contain duplicate elements
• Models the mathematical set abstraction and is used
to represent sets
> cards comprising a poker hand
> courses making up a student's schedule
> the processes running on a machine
• The Set interface contains only methods inherited
from Collection and adds the restriction that
duplicate elements are prohibited.
TheAndroid-mania.com
37. “Sorted Set” Interface
• A Set that maintains its elements in ascending order.
Several additional operations are provided to take
advantage of the ordering
• Sorted sets are used for naturally ordered sets, such
as word lists and membership roll.
TheAndroid-mania.com
39. HashSet
• HashSet is much faster than TreeSet (constant time versus log-time
for most operations) but offers no ordering guarantees
• Mostly commonly used implementation.
Caveats of Using HashSet
• Iteration is linear in the sum of the number of entries and the number
of buckets (the capacity).
> Choosing an initial capacity that's too high can waste both
space and time.
> Choosing an initial capacity that's too low wastes time by copying the
data structure each time it's forced to increase its capacity.
TheAndroid-mania.com
40. Example for HashSet
import java.util.*;
public class HashSetinfo{
public static void main(String args[]){
HashSet hs=new HashSet();
Integer il=new Integer(10);
hs.add(il);
Double d1=new Double(10.5);
hs.add(d1);
hs.add(new Integer(20));
hs.add("Santhosh Teleman");
hs.add(new String("Trainer"));
System.out.println("Number of elements"+hs.size());
System.out.println("il exists:"+hs.contails(il));
System.out.println("Elements before remeoval");
System.out.println(hs);
hs.remove(d1);
System.out.println("elements after remeoval");
System.out.println(hs);
TheAndroid-mania.com
41. TreeSet
• When you need to use the operations in the SortedSet interface, or if
value-ordered iteration is required.
This class guarantees that the sorted set will be in ascending element
order,sorted according to to the natural order of the elements.
To optimize TreeSet and HashSet space usage, we can start with less
initial capacity and load capacity.
Class Signature:
public class TreeSet extends AbstractSet implements SortedSet ,Cloneable,
Serializable
TheAndroid-mania.com
42. Example: Set Interface & TreeSet
Import java.util.*;
Public Class TreeSet{
public static void main(String[] args) {
Set ts = new TreeSet();
ts.add("one");
ts.add("two");
ts.add("three");
ts.add("four");
ts.add("three");
System.out.println("Members from TreeSet = " + ts);
}
Result: Members from TreeSet = [four, one, three, two]
TheAndroid-mania.com
43. LinkedHashSet
• Implemented as a hash table with a linked list running through it
• Provides insertion-ordered iteration (least recently inserted to most
recently) and runs nearly as fast as HashSet.
• Spares its clients from the unspecified, generally chaotic ordering
provided by HashSet without incurring the increased cost associated
with TreeSet.
TheAndroid-mania.com
44. Example: Set Interface & LinkedHashSet
Import java.util.*;
public class LinkedHashSet{
public static void main(String[] args) {
Set ts2 = new LinkedHashSet();
ts2.add(2);
ts2.add(1);
ts2.add(3);
ts2.add(3);
System.out.println("Members from LinkedHashSet = " + ts2);
}
}
Result: Members from LinkedHashSet = [2, 1, 3]
TheAndroid-mania.com
45. Example: Set Interface & HashSet
public class Main {
public static void main(String[] args) {
Set s = new HashSet(); // Order is not guaranteed
MyOwnUtilityClass.checkDuplicate(s, args);
s = new TreeSet(); // Order according to values
MyOwnUtilityClass.checkDuplicate(s, args);
s = new LinkedHashSet(); // Order according to insertion
MyOwnUtilityClass.checkDuplicate(s, args);
}
}
TheAndroid-mania.com
46. Example: Set Interface & HashSet
The numbers are added in the following order
2
3
4
1
2
Set type = java.util.HashSet [3, 2, 4, 1]
Set type = java.util.TreeSet [1, 2, 3, 4]
Set type = java.util.LinkedHashSet [2, 3, 4, 1]
TheAndroid-mania.com
48. “Map” Interface
• Handles key/value pairs.
• A Map cannot contain duplicate keys; each
key can map to at most one value.
If you've used Hash table, you're already
familiar with the basics of Map.
Class Signature:
public interface map
TheAndroid-mania.com
49. “Map” Interface (Java SE 5)
public interface Map<K,V> {
// Basic operations
V put(K key, V value);
V get(Object key);
V remove(Object key);
boolean containsKey(Object key);
boolean containsValue(Object value);
int size();
boolean isEmpty();
// Bulk operations
void putAll(Map<? extends K, ? extends V> m);
void clear();
// Collection Views
public Set<K> keySet();
public Collection<V> values();
public Set<Map.Entry<K,V>> entrySet();
// Interface for entrySet elements
public interface Entry {
TheAndroid-mania.com
50. “Sorted Map” Interface
• A Map that maintains its mappings in ascending key
order
> This is the Map analog of Sorted Set.
• Sorted maps are used for naturally ordered
collections of key/value pairs, such as dictionaries
and telephone directories.
TheAndroid-mania.com
51. Implementations of “Map” Interface
• Hash Map
> Use it you want maximum speed and don't care about iteration
order.
> Most commonly used implementation
• Tree Map
> Use it when you need Sorted Map operations or key-ordered
Collection-view iteration
• Linked HashMap
> Use if you want near-Hash Map performance and insertion order
iteration
TheAndroid-mania.com
52. Hash Map
HashMap is like Hashtable which stores key/value pairs. It implements
map interface and we can use all the operations (methods) of map
interface.
It permits null values and the null key.
Hash map is almost equivalent to HashTable, except that it is un-
synchronised and permits nulls.
Order of elements is not guaranteed.
Class signature:
public class Hashmap extends AbstractMap implements
Map,Cloneable,Serializable
TheAndroid-mania.com
53. Tree map
This class extends AbstractMap and implements SortedMap.
This class Guarantees that the elements will be in ascending key order,
sorted according to the natural order based on the keys.
Class signature:
public class Treemap extends AbstractMap implements SortedMap ,
Cloneable, Serializable
TheAndroid-mania.com
55. “Queue” Interface
• A collection used to hold multiple elements prior to
processing
• Besides basic Collection operations, a Queue
provides additional insertion, extraction, and
inspection operations
• Typically, but do not necessarily, order elements in a
FIFO (first-in, first-out) manner.
TheAndroid-mania.com
56. Implementations of Queue
Interface
• General purpose Queue implementations
> LinkedList implements the Queue interface, providing FIFO
queue operations for add, poll, and so on
> PriorityQueue class is a priority queue based on the heap
data structure
> This queue orders elements according to an order specified at
construction time, which can be the elements' natural ordering
or the ordering imposed by an explicit Comparator.
• Concurrent Queue implementations
TheAndroid-mania.com
58. Collections Class
• Provides methods to return the empty Set, List, and
Map — emptySet, emptyList, and emptyMap.
> The main use of these constants is as input to methods that
take a Collection of values when you don't want to provide
any values at all
> tourist.declarePurchases(Collections.emptySet());
• Provides methods for sorting and shuffling
> Collections.sort(l);
> Collections.shuffle(l);
TheAndroid-mania.com
60. Abstract Classes
• Includes abstract implementations
> AbstractCollection
> AbstractSet
> AbstractList
> AbstractSequentialList
> AbstractMap
• To aid in custom implementations
> Reduces code you have to write
TheAndroid-mania.com
63. Algorithms
• Provided as static methods of Collections class
• The first argument is the collection on which the
operation is to be performed
• The majority of the algorithms provided by the Java
platform operate on List instances, but a few of them
operate on arbitrary Collection instances
TheAndroid-mania.com
64. Sorting
• The sort algorithm reorders a List so that its
elements are in ascending order according to an
ordering relationship
• Two forms of the operations
> takes a List and sorts it according to its elements' natural
ordering
> takes a Comparator in addition to a List and sorts the
elements with the Comparator
TheAndroid-mania.com
65. Natural Ordering
• The type of the elements in a List already implements
Comparable interface
• Examples
> If the List consists of String elements, it will be sorted into
alphabetical order
> If it consists of Date elements, it will be sorted into chronological
order
> String and Date both implement the Comparable interface.
Comparable implementations provide a natural ordering for a class,
which allows objects of that class to be sorted automatically
• If you try to sort a list, the elements of which do not
implement Comparable, Collections.sort(list) will throw a
ClassCastException.
TheAndroid-mania.com
66. Sorting by Natural Order of List
// Set up test data
String n[] = {
new String("John"),
new String("Karl"),
new String("Groucho"),
new String("Oscar")
};
// Create a List from an array
List l = Arrays.asList(n);
// Perform the sorting operation
Collections.sort(l);
TheAndroid-mania.com
67. Sorting by Comparator
Interface
• A comparison function, which imposes a total
ordering on some collection of objects
• Comparators can be passed to a sort method (such
as Collections.sort or Arrays.sort) to allow precise
control over the sort order
• Comparators can also be used to control the order
of certain data structures (such as sorted sets or
sorted maps), or to provide an ordering for
collections of objects that don't have a natural
Ordering.
TheAndroid-mania.com
68. Sorting by Natural Order of List
// Set up test data
ArrayList u2 = new ArrayList();
u2.add("Beautiful Day");
u2.add("Stuck In A Moment You Can't Get Out Of");
u2.add("Elevation");
u2.add("Walk On");
u2.add("Kite");
u2.add("In A Little While");
u2.add("Wild Honey");
u2.add("Peace On Earth");
u2.add("When I Look At The World");
u2.add("New York");
u2.add("Grace");
Comparator comp = Comparators.stringComparator();
Collections.sort(u2, comp); TheAndroid-mania.com
69. Shuffling
• The shuffle algorithm does the opposite of what sort does, destroying
any trace of order that may have been present in a List
> That is, this algorithm reorders the List based on input from a
source of randomness such that all possible permutations occur with
equal likelihood, assuming a fair source of randomness
• Useful in implementing games of chance
> could be used to shuffle a List of Card objects representing a
deck
> generating test cases
TheAndroid-mania.com
70. Routine Data Manipulation
• The Collections class provides five algorithms for doing routine data
manipulation on List objects
> reverse — reverses the order of the elements in a List.
> fill — overwrites every element in a List with the specified value.
This operation is useful for reinitializing a List.
> copy — takes two arguments, a destination List and a source List, and copies
the elements of the source into the destination, overwriting its contents. The
destination List must be at least as long as the source. If it is longer, the
remaining elements in the destination List are unaffected.
> swap — swaps the elements at the specified positions in a List.
> addAll — adds all the specified elements to a Collection. The elements to be
added may be specified individually or as an array.
TheAndroid-mania.com
71. Searching
• The Collections class has binarySearch() method for
searching a specified element in a sorted List
// Set up testing data
String name[] = {
new String("Sang"),
new String("Shin"),
new String("Boston"),
new String("Passion"),
new String("Shin"),
};
List l = Arrays.asList(name);
int position = Collections.binarySearch(l, "Boston");
System.out.println("Position of the searched item = " + position);
TheAndroid-mania.com
72. Composition
• Collections.frequency(l) — counts the number of
times the specified element occurs in the specified
collection
• Collections.disjoint(l1, l2) — determines whether two
Collections are disjoint; that is, whether they contain
no elements in common. The Collections class has
binarySearch() method for searching a specified
element in a sorted List.
TheAndroid-mania.com