Boxing & AutoBoxing Java Collection Framework. Collection List Map Set. Generics vs Inheritance

dokumen-dokumen yang mirip
Collections. Collections Framework

Pemrograman Berbasis Objek. Collections. Politeknik Elektronika Negeri Surabaya

Pemrograman Berorientasi. Array dan Collections

Algoritma Pemrograman [BS204]

03/04/2018. Collection set List Map. Pemrograman Berorientasi Object

INSTITUT TEKNOLOGI SUMATERA COLLECTION: SET DAN MAP

Pemrograman Berbasis Objek. Collections. Politeknik Elektronika Negeri Surabaya

Pemrograman Lanjut. Interface

Java Collections Framework

GENERICS. Yuliana Setiowati. Politeknik Elektronika Negeri Surabaya. Topik

KOLEKSI OBJECT. Farah Zakiyah Rahmanti, M.T Universitas Dian Nuswantoro

Grouping Object. Viska Mutiawani, M.Sc

Pemrograman Berorientasi Obyek Lanjut (IT251) Ramos Somya, S.Kom., M.Cs.

PRAKTIKUM 20 JAVA COLLECTION FRAMEWORK : MAP

Score: 94.0 Persentage: % ~ u ~ Generated by Foxit PDF Creator Foxit Software For evaluation only.

Java Generic & Collection

Generics. Prepared by Viska Mutiawani. 1

Gambar 1. Single Linked List

Data Structures. Class 5 Pointer. Copyright 2006 by The McGraw-Hill Companies, Inc. All rights reserved.

IT 405: KPLBO MATERI 9 RELASI ANTAR OBJEK III. Ayi Purbasari, ST., MT. If-Unpas, 2014

Pemrograman Web. Object Oriented Programming in PHP 5

Modul Pembangunan Aplikasi Basis Data Lanjut 2014

E-Commerce. Lesson 2. Nizar Rabbi Radliya PHP : Variable, Constant, Data Type, Operator. 2 SKS Semester 7 UNIKOM

Algoritma & Struktur Data. Array. Oleh : Nur Hayatin, M.Kom

Pemrograman Berorientasi Objek Collection dan Multithreading. Adam Mukharil Bachtiar Teknik Informatika UNIKOM

A. TUJUAN PEMBELAJARAN

KUM 3 IMPLEMENTASI LIST

Pemrograman Berbasis Objek GENERIC. Yuliana Setiowati. Politeknik Elektronika Negeri Surabaya

Konsep Dasar Pemrograman Berorientasi Objek

ABSTRAK. Kata Kunci : Map, TreeMap, AVL tree. vii Universitas Kristen Maranatha

PEMROGRAMAN BERORIENTASI OBJEK COLLECTION DAN MULTITHREADING. ADAM MUKHARIL BACHTIAR TEKNIK INFORMATIKA UNIKOM

Adam Mukharil Bachtiar English Class Informatics Engineering Algorithms and Programming Searching

Objectives. Struktur Data & Algoritme (Data Structures & Algorithms) Sort. Outline. Bubble Sort: idea. Bubble Sort. Sorting

OBJECT ORIENTED PROGRAMMING. Day 3 : Operator dan Assignment

BEKERJA DENGAN JAVA CLASS LIBRARY

Operator dan Assignment. Pertemuan 3 Pemrograman Berbasis Obyek

Data Structures. Class 4 Arrays. Pengampu : TATI ERLINA, M.I.T. Copyright 2006 by The McGraw-Hill Companies, Inc. All rights reserved.

Modul ini mengenalkan Anda konsep dasar mengenai Java generic types.

PRAKTIKUM STRUKTUR DATA QUEUE. SULIDAR FITRI, M.Sc

Dasar-Dasar Pemrograman

Data Structures. Class 3 Pengenalan Struktur Data dan ADT. Copyright 2006 by The McGraw-Hill Companies, Inc. All rights reserved.

Arrays, Collections and Generics. Sisilia Thya Safitri, MT Agus Priyanto, MKom

Pengenalan Database Management System MySQL. Pokok Bahasan: Pengenalan DataBase Pembangunan database berbasis Client-Server Dasar-Dasar MySQL

1/5. while and do Loops The remaining types of loops are while and do. As with for loops, while and do loops Praktikum Alpro Modul 3.

Java Operators. Nurochman

A. TUJUAN PEMBELAJARAN 1. Memahami konsep Class LinkedList di Collection 2. Memahami penggunaan method-method pada Class LinkedList.

Overriding, Overloading, Polymorphism. Pertemuan 10 Pemrograman Berbasis Obyek Dr. Rodiah

Problem 1. Implementasi Interface. Diberikan definisi interface BentukDuaDimensi berikut:

BAB 2 COLLECTION & THREAD

Pada pembuatan game di java, sering kali para programer. mendefinisikan banyak object seperti suara, gambar, dan grafik geometri yang

IMPLEMENTASI STRUKTUR DATA LIST, QUEUE DAN STACK DALAM JAVA

TUJUAN. Memahami Koneksi dan Pemrosesan Basis Data di Java Memahami JDBC Menggunakan MySQL pada program Java

Pertemuan 8. Dasar query basis data dengan SQLite ARFIAN HIDAYAT, S.KOM

DIG1G3 Implementasi Struktur Data

Jobsheet 16 String dan Collection (List, Set, Map)

IKI 20100: Struktur Data & Algoritma

BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA

Operator dan Assignment

PEMROGRAMAN BERORIENTASI OBJEK LANJUT

Dasar Pemrograman Java

TIF APPLIED MATH 1 (MATEMATIKA TERAPAN 1) Week 3 SET THEORY (Continued)

Pemrograman Berbasis Objek Operator dan Assignment

Overriding Overloading Polymorphism

MODUL III ARRAYLIST TUGAS PENDAHULUAN

BAHASA PEMROGRAMAN JAVA

Reserved words Reserved words atau keywords merupakan kata-kata spesifik digunakan oleh compiler untuk keperluan pemrograman. Contoh reserved words

ABSTRACT CLASS. Imam Fahrur Rozi

Sorting Algorithms. Buble Sort

Nanik Tolaram

9/26/2011. Tujuan. Bekerja dengan Java Class Library. Pengenalan OOP. Pengenalan OOP. Class dan Object. Enkapsulasi

Pemrograman Berorientasi Obyek. Operator & Assignment

RENCANA PEMBELAJARAN SEMESTER (RPS)

Class Wrapper. Tujuan dari Class Wrapper

TRANSPOSITION TECHNIQUE

Pemrograman Lanjut Tipe Data dan Constructor PTIIK

06/03/2018. Tidak memiliki parameter. Melakukan inisialisasi semua variabel private dengan nilai awal.

Pemrograman Berorientasi. Abstract & Interface

Politeknik Elektronika Negeri Surabaya

Pemrograman Lanjut. Instance Variable Access Modifier Set dan Get Method

Politeknik Elektronika Negeri Surabaya

SORTING (BAGIAN II) Proses kelima

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK

Struktur Data II. Bekerja Dengan Form.

Latihan 1. Praktikum 2 Bahasa Pemrograman PLT Scheme : Membuat Program

CSG2H3 Object Oriented Programming INTERFACE -RSM-

Pemrograman Berorientasi. Inheritance

Variabel dengan tipe dasar hanya dapat menyimpan sebuah nilai

RENCANA PEMBELAJARAN SEMESTER PROGRAM STUDI SARJANA TERAPAN TEKNIK INFORMATIKA DEPARTEMEN TEKNIK INFORMATIKA DAN KOMPUTER

Class Wrapper. Yuliana Setiowati

IF PEMROGRAMAN LANJUT GENERIC. Oleh : Andri Heryandi, M.T.

TIPE DATA PADA JAVA. Pertemuan (K-04/L-04)

Gambar 1. Single Linked List

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA GENERIC DAN IMPLEMENTASI COMPARETO()

.NET Controls. Control Creation

Simple Sorting Techniques

5. Consider the following line of code : byte ohmy What is the range of values that could be assigned to the variable ohmy?

Adam Hendra Brata Teknik Informatika FILKOM UB Semester Genap 2015/2016

Nama Soal Pembagian Ring Road Batas Waktu 1 detik Nama Berkas Ringroad[1..10].out Batas Memori 32 MB Tipe [output only] Sumber Brian Marshal

Politeknik Elektronika Negeri Surabaya

Jobsheet 09. Overloading and Overriding Method

Transkripsi:

Boxing & AutoBoxing Java Collection Framework Collection List Map Set Generics vs Inheritance 2

Primitive types (int, float, double, boolean etc.) do not inherit Object We can use wrapper classes encapsulate primitive types within objects: Double - double, Integer - int, etc Many data structures operate on objects and then primitives must often be wrapped before they can be used (this is called boxing) Example : Integer iobject = new Integer(10); Integer intobj = 100; //works well (autobox an int) Unboxing (the reverse process to boxing) extracts integer value Excample : int i = iobject.intvalue(); int ii = intobj; 3

4

A collection is a group of data manipulate as a single object Collections are primarily defined through a set of interfaces. 5

Solid boxes represent concrete classes Dashed boxes indicate interfaces 6

The Collection interface is a group of objects, with duplicates allowed The Set interface extends Collection but forbids duplicates The List interface extends Collection, allows duplicates, and introduces positional indexing. A Map is an object that maps keys to values 7

Interface Implementation Historical Set HashSet TreeSet List ArrayList Vector LinkedList Stack Map HashMap HashTable TreeMap Properties 8

We can use the interface Iterator to enumerate or count through a collection of objects Methods: hasnext() next() remove() Collection c; Iterator it = c.iterator(); //produces iterator while(it.hasnext()){ if(!contains(it.next())) return false; } return true; 9

boolean add (Object o) boolean contains (Object o) boolean remove (Object c) boolean removeall (Collection <?> c) Iterator <E> iterator() Object[] toarray() int size() etc 10

The Set interface extends the Collection interface and forbids duplicates within the collection. HashSet For set where fast search/access is important Based on a hash table TreeSet An ordered set 11

s1.containsall(s2) returns true if s2 is a subset of s1 s1.addall(s2) transforms s1 into the union of s1 and s2 s1.removeall(s2) transforms s1 into the (asymmetric) set difference of s1 and s2 12

13

The List interface extends the Collection interface to define an ordered collection, permitting duplicates. ArrayList fast random element access inserting/removing operations are slow (use LinkedList instead) LinkedList provides optimal sequential access rather slow for random element access (use ArrayList instead) 14

15

16

Arrays have fixed size, which is defined when they are initialized int[] arr = new int[20]; //size fixed to 20 arr[4]; //returns fifth element from the array Collections structures (those implementing Collection interface) are extendible - no fixed size ArrayList, similarly to array, allows to select from a sequence of objects using a number - index (element position within the list) ArrayList arr; arr.get(4); //returns fifth element from the list But ArrayList is also extendible ArrayList<String> = new ArrayList<String>();// no size specification 17

18

A Map is an object that maps keys to values. A map cannot contain duplicate keys Each key can map to at most one value. 19

The keys are like database primary keys in that a value (row) is uniquely identified by its key Allows an object to be stored: put(object key, Object value) Retrieved the value get(object key) 20

TreeMap If you need to traverse the keys in a sorted order HashMap For inserting, deleting, and locating elements in a Map 21

22

23

24

Search and sort: binarysearch(), sort() Reorganization: reverse(), shuffle() Wrappings: unmodifiablecollection, synchonizedcollection 25

Advantages Can hold different types of objects Resizable Disadvantages Must cast to correct type Cannot do compile-time type checking 26

27

Kelas generic: kelas yang masih umum, belum spesifik ketika didefinisikan Pada saat deklarasi objek, hal yang umum harus dibuat spesifik Setelah dibuat spesifik, baru bisa dipakai Biasanya yang umum adalah type -nya,dipakai untuk membungkus operasi yang sama Dalam bahasa C++ menjadi template 28

Kelas generic pada Java diimplementasikan sebagai parameter tipe Hasil kompilasi kode kelas generic tetap hanya satu kelas, dengan parameter type yang diganti dengan type yang seharusnya pada saat runtime Keuntungan generic: Meningkatkan expressiveness power Meningkatkan type safety Mengeksplisitkan parameter type dan mengimplisitkan type casting 29

Mendefinisikan kelas dan interface: class NamaKelas <TypeGeneric> {... } interface NamaInterface <TypeGeneric> {... } class NamaKelas <TypeGeneric1, TypeGeneric2> {... } interface NamaInterface <TypeGeneric1, TypeGeneric2> {... } Nama untuk type generic sebaiknya menggunakan karakter huruf besar, misalnya E dan T Kita dapat mendefinisikan type generic lebih dari satu 30

Kelas dapat digunakan untuk membuat kelas baru dengan menggunakan template kelas generic public class MyList<E> { MyList() {... } public void Add (E o) {... } public E get(int idx) {... } } MyList<String> ls = new MyList<String>(); 31

32

E Element (digunakan pada Java Collections Framework) K Key N Number T Type V Value S, U, V, etc. 2nd, 3rd, 4th types 33