JAVA COLLECTIONS FRAMEWORK



Similar documents
Class 32: The Java Collections Framework

Working with Java Collections

Data Structures in the Java API

The Java Collections Framework

Lecture 2: Data Structures Steven Skiena. skiena

Big O and Limits Abstract Data Types Data Structure Grand Tour.

Java Software Structures

Basic Programming and PC Skills: Basic Programming and PC Skills:

Collections Classes for Real-Time and High-Performance Applications. July 4, 2005 Jean-Marie Dautelle

Collections in Java. Arrays. Iterators. Collections (also called containers) Has special language support. Iterator (i) Collection (i) Set (i),

Java 6 'th. Concepts INTERNATIONAL STUDENT VERSION. edition

Java Coding Practices for Improved Application Performance

Java SE 8 Programming

Generic Types in Java. Example. Another Example. Type Casting. An Aside: Autoboxing 4/16/2013 GENERIC TYPES AND THE JAVA COLLECTIONS FRAMEWORK.

Computer. Course Description

Structural Design Patterns Used in Data Structures Implementation

API for java.util.iterator. ! hasnext() Are there more items in the list? ! next() Return the next item in the list.

Fundamentals of Java Programming

1 of 1 24/05/ :23 AM

Iterators. Provides a way to access elements of an aggregate object sequentially without exposing its underlying representation.

core 2 Basic Java Syntax

Java Application Developer Certificate Program Competencies

Android Application Development Course Program

Java EE Web Development Course Program

2 Collections Framework Overview

C# Cookbook. Stephen Teilhet andjay Hilyard. O'REILLY 8 Beijing Cambridge Farnham Köln Paris Sebastopol Taipei Tokyo '"J""'

Data Structures and Algorithms Lists

Skills for Employment Investment Project (SEIP)

Computing Concepts with Java Essentials

An Empirical Analysis of the Java Collections Framework Versus the C++ Standard Template Library

1. The memory address of the first element of an array is called A. floor address B. foundation addressc. first address D.

Computer Science III Advanced Placement G/T [AP Computer Science A] Syllabus

Introduction to Programming System Design. CSCI 455x (4 Units)

Efficient Data Structures for Decision Diagrams

Lecture 7: Class design for security

Chapter 8: Bags and Sets

Iterator Pattern. CSIE Department, NTUT Chien-Hung Liu. Provide a way to access the elements of an aggregate object sequentially

Data Structures. Chapter 8

10CS35: Data Structures Using C

Java the UML Way: Integrating Object-Oriented Design and Programming

DATA STRUCTURES USING C

VB.NET INTERVIEW QUESTIONS

Krishna Institute of Engineering & Technology, Ghaziabad Department of Computer Application MCA-213 : DATA STRUCTURES USING C

D06 PROGRAMMING with JAVA

Introduction to Data Structures

AP Computer Science A - Syllabus Overview of AP Computer Science A Computer Facilities

Java Map and Set collections

DIVISION OF INFORMATION TECHNOLOGY PROGRAMS AND SYSTEMS SUPPORT FALL 2015 / Spring 2016

: provid.ir

CS 2112 Spring Instructions. Assignment 3 Data Structures and Web Filtering. 0.1 Grading. 0.2 Partners. 0.3 Restrictions

Data Structures and Algorithms

CSE 2123 Collections: Sets and Iterators (Hash functions and Trees) Jeremy Morris

AP Computer Science AB Syllabus 1

Morris School District. AP Computer Science A Curriculum Grades 9-12

Introduction to Parallel Programming and MapReduce

SMALL INDEX LARGE INDEX (SILT)

KITES TECHNOLOGY COURSE MODULE (C, C++, DS)

22c:31 Algorithms. Ch3: Data Structures. Hantao Zhang Computer Science Department

ML for the Working Programmer

Core Java+ J2EE+Struts+Hibernate+Spring

Common Memory Issues in WebSphere Application Server

PLV Goldstein 315, Tuesdays and Thursdays, 6:00PM-7:50PM. Tuesdays and Thursdays, 4:00PM-5:30PM and 7:50PM 9:30PM at PLV G320

CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Programming (2014)

Introduction to Object-Oriented Programming

Practical Session 4 Java Collections

Symbol Tables. Introduction

Exercise 8: SRS - Student Registration System

Visualising Java Data Structures as Graphs

Per imparare a programmare bisogna programmare

C++ Programming Language

CompuScholar, Inc. Alignment to Utah's Computer Programming II Standards

Object Oriented Design

Object Oriented Databases. OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar

Lab Experience 17. Programming Language Translation

Chapter 126. Texas Essential Knowledge and Skills for Technology Applications. Subchapter C. High School

Curriculum Map. Discipline: Computer Science Course: C++

Java SE 7 Programming

CompSci-61B, Data Structures Final Exam

Program Visualization for Programming Education Case of Jeliot 3

Java Collection Framework hierarchy. What is Data Structure? Chapter 20 Lists, Stacks, Queues, and Priority Queues

Data Structures in Java. Session 15 Instructor: Bert Huang

Universidad Carlos III de Madrid

Agenda. What is and Why Polymorphism? Examples of Polymorphism in Java programs 3 forms of Polymorphism

Lewis, Loftus, and Cocking. Java Software Solutions for AP Computer Science 3rd Edition. Boston, Mass. Addison-Wesley, 2011.

Arrays. Atul Prakash Readings: Chapter 10, Downey Sun s Java tutorial on Arrays:

Java SE 7 Programming

Java SE 7 Programming

WORKSPACE WEB DEVELOPMENT & OUTSOURCING TRAINING CENTER

Sequential Data Structures

JAVASCRIPT AND COOKIES

Pseudo code Tutorial and Exercises Teacher s Version

Sorting revisited. Build the binary search tree: O(n^2) Traverse the binary tree: O(n) Total: O(n^2) + O(n) = O(n^2)

Software Design. Design (I) Software Design Data Design. Relationships between the Analysis Model and the Design Model

STORM. Simulation TOol for Real-time Multiprocessor scheduling. Designer Guide V3.3.1 September 2009

1) The postfix expression for the infix expression A+B*(C+D)/F+D*E is ABCD+*F/DE*++

GUJARAT TECHNOLOGICAL UNIVERSITY, AHMEDABAD, GUJARAT. Course Curriculum. DATA STRUCTURES (Code: )

Transcription:

http://www.tutorialspoint.com/java/java_collections.htm JAVA COLLECTIONS FRAMEWORK Copyright tutorialspoint.com Prior to Java 2, Java provided ad hoc classes such as Dictionary, Vector, Stack, and Properties to store and manipulate groups of objects. Although these classes were quite useful, they lacked a central, unifying theme. Thus, the way that you used Vector was different from the way that you used Properties. The collections framework was designed to meet several goals. The framework had to be high-performance. The implementations for the fundamental collections dynamicarrays, linkedlists, trees, andhashtables are highly efficient. The framework had to allow different types of collections to work in a similar manner and with a high degree of interoperability. Extending and/or adapting a collection had to be easy. Towards this end, the entire collections framework is designed around a set of standard interfaces. Several standard implementations such as LinkedList, HashSet, and TreeSet, of these interfaces are provided that you may use as-is and you may also implement your own collection, if you choose. A collections framework is a unified architecture for representing and manipulating collections. All collections frameworks contain the following: Interfaces: These are abstract data types that represent collections. Interfaces allow collections to be manipulated independently of the details of their representation. In objectoriented languages, interfaces generally form a hierarchy. Implementations, i.e., Classes: These are the concrete implementations of the collection interfaces. In essence, they are reusable data structures. 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 addition to collections, the framework defines several map interfaces and classes. Maps store key/value pairs. Although maps are not collections in the proper use of the term, but they are fully integrated with collections. The Collection Interfaces: The collections framework defines several interfaces. This section provides an overview of each interface: Interfaces with Description The Collection Interface This enables you to work with groups of objects; it is at the top of the collections hierarchy. 2 The List Interface This extends Collection and an instance of List stores an ordered collection of elements. 3 The Set

This extends Collection to handle sets, which must contain unique elements The SortedSet This extends Set to handle sorted sets 5 The Map This maps unique keys to values. 6 The Map.Entry This describes an element akey/valuepair in a map. This is an inner class of Map. 7 The SortedMap This extends Map so that the keys are maintained in ascending order. 8 The Enumeration This is legacy interface and defines the methods by which you can enumerate obtainoneatatime the elements in a collection of objects. This legacy interface has been superceded by Iterator. The Collection Classes: Java provides a set of standard collection classes that implement Collection interfaces. Some of the classes provide full implementations that can be used as-is and others are abstract class, providing skeletal implementations that are used as starting points for creating concrete collections. The standard collection classes are summarized in the following table: Classes with Description AbstractCollection Implements most of the Collection interface. 2 AbstractList Extends AbstractCollection and implements most of the List interface. 3 AbstractSequentialList Extends AbstractList for use by a collection that uses sequential rather than random access of its elements. LinkedList Implements a linked list by extending AbstractSequentialList.

5 ArrayList Implements a dynamic array by extending AbstractList. 6 AbstractSet Extends AbstractCollection and implements most of the Set interface. 7 HashSet Extends AbstractSet for use with a hash table. 8 LinkedHashSet Extends HashSet to allow insertion-order iterations. 9 TreeSet Implements a set stored in a tree. Extends AbstractSet. 0 AbstractMap Implements most of the Map interface. HashMap Extends AbstractMap to use a hash table. 2 TreeMap Extends AbstractMap to use a tree. 3 WeakHashMap Extends AbstractMap to use a hash table with weak keys. LinkedHashMap Extends HashMap to allow insertion-order iterations. 5 IdentityHashMap Extends AbstractMap and uses reference equality when comparing documents. The AbstractCollection, AbstractSet, AbstractList, AbstractSequentialList and AbstractMap classes provide skeletal implementations of the core collection interfaces, to minimize the effort required to implement them.

The following legacy classes defined by java.util have been discussed in previous tutorial: Classes with Description Vector This implements a dynamic array. It is similar to ArrayList, but with some differences. 2 Stack Stack is a subclass of Vector that implements a standard last-in, first-out stack. 3 Dictionary Dictionary is an abstract class that represents a key/value storage repository and operates much like Map. Hashtable Hashtable was part of the original java.util and is a concrete implementation of a Dictionary. 5 Properties Properties is a subclass of Hashtable. It is used to maintain lists of values in which the key is a String and the value is also a String. 6 BitSet A BitSet class creates a special type of array that holds bit values. This array can increase in size as needed. The Collection Algorithms: The collections framework defines several algorithms that can be applied to collections and maps. These algorithms are defined as static methods within the Collections class. Several of the methods can throw a ClassCastException, which occurs when an attempt is made to compare incompatible types, or an UnsupportedOperationException, which occurs when an attempt is made to modify an unmodifiable collection. Collections define three static variables: EMPTY_SET, EMPTY_LIST, and EMPTY_MAP. All are immutable. Algorithms with Description The Collection Algorithms Here is a list of all the algorithm implementation.

How to use an Iterator? Often, you will want to cycle through the elements in a collection. For example, you might want to display each element. The easiest way to do this is to employ an iterator, which is an object that implements either the Iterator or the ListIterator interface. Iterator enables you to cycle through a collection, obtaining or removing elements. ListIterator extends Iterator to allow bidirectional traversal of a list and the modification of elements. Iterator Methods with Description Using Java Iterator Here is a list of all the methods with examples provided by Iterator and ListIterator interfaces. How to use a Comparator? Both TreeSet and TreeMap store elements in sorted order. However, it is the comparator that defines precisely what sorted order means. This interface lets us sort a given collection any number of different ways. Also this interface can be used to sort any instances of any class evenclasseswecannotmodify. Iterator Methods with Description Using Java Comparator Here is a list of all the methods with examples provided by Comparator Interface. Summary: The Java collections framework gives the programmer access to prepackaged data structures as well as to algorithms for manipulating them. A collection is an object that can hold references to other objects. The collection interfaces declare the operations that can be performed on each type of collection. The classes and interfaces of the collections framework are in package java.util. Loading [MathJax]/jax/output/HTML-CSS/jax.js