Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 1 Εβδομάδα 7: Συμβολοσειρές.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Τύποι δεδομένων και τελεστές,
Advertisements

Συλλογές, Στοίβες και Ουρές Σε πολλές εφαρμογές μας αρκεί η αναπαράσταση ενός δυναμικού συνόλου με μια δομή δεδομένων η οποία δεν υποστηρίζει την αναζήτηση.
Στοιχειώδεις Δομές Δεδομένων TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Τύποι δεδομένων στη Java • Ακέραιοι.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Μέθοδοι που επιστρέφουν αντικείμενα Copy Constructor Deep and Shallow Copies.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πολυμορφισμός – Αφηρημένες κλάσεις Interfaces (διεπαφές)
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Πινακες (Arrays) Σημασια Συνταξη Αρχικοποιηση Προσβαση Παραμετροι
Προγραμματισμός Ι Πίνακες •Ο πίνακας είναι μία συλλογή μεταβλητών ίδιου τύπου, οι οποίες είναι αποθηκευμένες σε διαδοχικές θέσεις μνήμης. Χρησιμοποιείται.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Αντικείμενα ως ορίσματα.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα.
ΘΕΩΡΙΑ ΔΙΑΛΕΞΗ 4 Αριθμητικές εκφράσεις και πράξεις Εντολές ανάθεσης
Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 1 Εβδομάδα 9: Διανύσματα και λίστες.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Constructors, equals, toString Αντικείμενα ως παράμετροι.
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 1 Εβδομάδα 3: Υλοποίηση μεθόδων.
Η βιβλιοθήκη κλάσεων της Java
Εντολες Επιλογης (Selection)
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα.
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος γ
Σχεδίαση-Ανάπτυξη Εφαρμογών Πληροφορικής Αντώνιος Συμβώνης, ΕΜΠ, Slide 1 Week 11: Intro to Applets Εβδομάδα 11: Εισαγωγή στα Applets.
Σχεδίαση-Ανάπτυξη Εφαρμογών Πληροφορικής Αντώνιος Συμβώνης, ΕΜΠ, Slide 1 Week 6: Java Collections Εβδομάδα 6: Συλλογές δεδομένων στην Java.
Σχεδίαση-Ανάπτυξη Εφαρμογών Πληροφορικής Αντώνιος Συμβώνης, ΕΜΠ, Slide 1 Εβδομάδα 2: Υπο-τύποι και πολυμορφισμός [sub-typing and polymorphism]
Σχεδίαση-Ανάπτυξη Εφαρμογών Πληροφορικής Αντώνιος Συμβώνης, ΕΜΠ, Slide 1 Week 9: Input / Output Εβδομάδα 8: Είσοδος / Έξοδος [Input / Output]
Σχεδίαση-Ανάπτυξη Εφαρμογών Πληροφορικής Αντώνιος Συμβώνης, ΕΜΠ, Slide 1 Week 4: Exceptions Εβδομάδα 4: Εξαιρέσεις [Exceptions]
Page  1 Ο.Παλιάτσου Γαλλική Επανάσταση 1 ο Γυμνάσιο Φιλιππιάδας.
© GfK 2012 | Title of presentation | DD. Month
-17 Προσδοκίες οικονομικής ανάπτυξης στην Ευρώπη Σεπτέμβριος 2013 Δείκτης > +20 Δείκτης 0 a +20 Δείκτης 0 a -20 Δείκτης < -20 Σύνολο στην Ευρωπαϊκή Ένωση:
Εισαγωγή στον Προγραμματισμό (στη γλώσσα Java)
Αντικείμενα, Κλάσεις και Μέθοδοι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Συλλογές.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Στατικές μέθοδοι και μεταβλητές Εσωτερικές κλάσεις.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Σύνθεση αντικειμένων Παράδειγμα: Τμήμα πανεπιστημίου.
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Προγραμματισμός ΙΙ Διάλεξη #7: Περισσότερες Δομές Ελέγχου Δρ. Νικ. Λιόλιος.
+14 Σεπτέμβριο 2014 Δείκτης > +20 Δείκτης 0 να +20 Δείκτης 0 να -20 Δείκτης < -20 Συνολικά της ΕΕ: +1 Δείκτης > +20 Δείκτης 0 να +20 Δείκτης 0 να -20 Δείκτης.
Προγραμματισμός ΙΙ Διάλεξη #6: Απλές Δομές Ελέγχου Δρ. Νικ. Λιόλιος.
Δομές Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Χειριζόμαστε ένα σύνολο στοιχείων όπου το κάθε.
Ολυμπιάδα Πληροφορικής
Δομές Δεδομένων 1 Στοίβα. Δομές Δεδομένων 2 Στοίβα (stack)  Δομή τύπου LIFO: Last In - First Out (τελευταία εισαγωγή – πρώτη εξαγωγή)  Περιορισμένος.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java II.
Τεχνολογία ΛογισμικούSlide 1 Αλγεβρική Εξειδίκευση u Καθορισμός τύπων αφαίρεσης σε όρους σχέσεων μεταξύ τύπων λειτουργιών.
Προγραμματισμός ΙΙ Διάλεξη #5: Εντολές Ανάθεσης Εντολές Συνθήκης Δρ. Νικ. Λιόλιος.
Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 1 Εβδομάδα 11: Εκτέλεση Java χωρίς το BlueJ.
1 Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Πανεπιστήμιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Κληρονομικότητα.
Σχεδίαση-Ανάπτυξη Εφαρμογών Πληροφορικής Αντώνιος Συμβώνης, ΕΜΠ, Slide 1 Σχεδίαση-Ανάπτυξη Εφαρμογών Πληροφορικής (Αντικειμενοστρεφής Προγραμματισμός)
ANAKOINWSH H 2η Ενδιάμεση Εξέταση μεταφέρεται στις αντί για , την 24 Νοεμβρίου στις αίθουσες ΧΩΔ και 110 λόγω μη-διαθεσιμότητας.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αντικείμενα ως ορίσματα Εισαγωγή στις αναφορές.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Αρχεία.
ΜΑΘΗΜΑ ΝΟΣΗΛΕΥΤΙΚΗ ΜΕΤΑΓΓΙΣΗ ΑΙΜΑΤΟΣ - ΑΙΜΟΔΟΣΙΑ
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Γενικευμένες κλάσεις Συλλογές.
Βάσεις Δεδομένων Εργαστήριο ΙΙ Τμήμα Πληροφορικής ΑΠΘ
+19 Δεκέμβριος 2014 Δείκτης > +20 Δείκτης 0 έως +20 Δείκτης 0 έως -20 Δείκτης < -20 Συνολικά της ΕΕ: +5 Δείκτης > +20 Δείκτης 0 έως +20 Δείκτης 0 έως -20.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Copy Constructor Deep and Shallow Copies.
ΟΣΣ Δεκεμβρίου 2004 Σχεδιασμός Λογισμικού Γλώσσες Προγραμματισμού ΙΙ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ.
Τμήμα Πληροφορικής και Τηλεπικοινωνιών
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Αναφορές.
Βασικά στοιχεία της Java
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα.
Αντικειμενοστραφής Προγραμματισμός Ι
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Εισαγωγή στον Προγ/μό Υπολογιστών
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Διάλεξη #7: Συμβολοσειρές.
Τύποι δεδομένων και τελεστές,
Διάλεξη #3: Υλοποίηση μεθόδων.
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Μεταγράφημα παρουσίασης:

Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 1 Εβδομάδα 7: Συμβολοσειρές

Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 2 Τιμές βασικών τύπων και αναφορές Δεδομένα βασικών τύπων αποθηκεύονται κατ’ αξία ενώ τα αντικείμενα αποθηκεύονται κατ΄αναφορά: age = 42; father = new Person(); name = "Fred"; 42 Person "Fred"

Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 3 Η εντολή καταχώρησης (για 3 η φορά) Η καταχώρηση γίνεται κατ’ αξία για τους βασικούς τύπους δεδομένων και κατ’ αναφορά για τύπους αντικειμένων age = 42; myAge = age; p1 = new Person(); p2 = p1; 42 Person 42 agemyAge p1 p2

Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 4 Ψευδωνυμία (Aliasing) Person p1 = new Person("Jack"); Person p2; p2 = p1; p2.changeName("Jill"); p1.printName(); Τι θα τυπωθεί;

Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 5 Ψευδωνυμία Person p1= new Person("Jack"); Person p2; p2 = p1; p2.changeName("Jill"); p1.printName(); "Jack" p1 p2 "Jill" Jill

Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 6 Βασικοί τύποι int i1 = 42; int i2; i2 = i1; i2++; System.out.println(i1); Τι θα τυπωθεί;

Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 7 Βασικοί τύποι int i1= 42; int i2; i2 = i1; i2++; System.out.println(i1); i1 i

Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 8 Ψευδωνυμία μέσω παραμέτρων Board board = new Board("Blocks"); GameEngine engine = new GameEngine(board); System.out.println(board.getTitle()); Τι θα τυπωθεί; public GameEngine(Board theBoard) { board = theBoard; theBoard.setTitle("My Game"); }

Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 9 public GameEngine(Board theBoard) { } class GameEngine Ψευδωνυμία μέσω παραμέτρων Board board= new Board("Blocks"); GameEngine engine = new GameEngine(board); System.out.println(board.getTitle()); [Board] "Blocks" board engine theBoard.setTitle("My Game"); gameBoard = theBoard; [GameEngine] gameBoard method: GameEngine: theBoard "My Game" class Game My Game

Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 10 Τι ισχύει για αντικείμενα τύπου String;

Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 11 Τα Strings δεν μπορεί να μεταλλαχθούν Τα Strings δεν μπορεί να μεταλλαχθούν [immutable] Τα αντικείμενα που δεν μπορεί να μεταλλαχθούν έχουν σταθερή κατάσταση; Η κατάστασή τους δεν μπορεί να μεταβληθεί.

Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 12 Βασικές μέθοδοι public int length(); public char charAt(int index); public indexOf(char ch); public indexOf(char ch, int start); public lastIndexOf(char ch); public lastIndexOf(char ch, int start); Οι πιο συχνά χρησιμοποιούμενες μέθοδοι είναι:

Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 13 Μεταβολή αντικειμένων τύπου String String s1, s2; s1 = "Fred"; s2 = s1; s2.toUpperCase(); System.out.println(s1); Fred ή FRED ? "Fred" String s1 s2

Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 14 Μεταβολή αντικειμένων τύπου String String s1, s2; s1 = "Fred"; s2 = s1; s2.toUpperCase(); System.out.println(s1); Fred ή FRED ? "Fred" String s1 s2 ΛΑΘΟΣ!

Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 15 Μεταβολή αντικειμένων τύπου String String s1, s2; s1 = "Fred"; s2 = s1; s2 = s2.toUpperCase(); System.out.println(s1); "Fred" String s1 s2 "FRED" String Τα αντικείμενα τύπου String δεν μπορεί να μεταβληθούν. Όλες οι «τροποποιήσεις» επιστρέφουν ένα νέο αντικείμενο τύπου String.

Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 16 «Τροποποίηση» των Strings  Αντικείμενα τύπου String δεν μπορεί ποτέ να τροποποιηθούν. Για μεγαλύτερη ακρίβεια, θα έπρεπε να αναφερόμαστε στη «δημιουργία συναφών Strings».

Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 17 Δημιουργία συναφών Strings String replace(char oldChar, char newChar); String toLowerCase(); String toUpperCase(); String trim();

Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 18 Ταύτιση σε αντιπαράθεση με ισότητα Για αντικείμενα τύπου διαφορετικού από String: person1 == person2 ? “Fred” Person person1person2 “Jill” Person

Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 19 Ταύτιση σε αντιπαράθεση με ισότητα Για αντικείμενα τύπου διαφορετικού από String: "Fred" Person person1person2 person1 == person2 ? "Fred" Person

Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 20 Ταύτιση σε αντιπαράθεση με ισότητα Για αντικείμενα τύπου διαφορετικού από String: person1person2 person1 == person2 ? "Fred" Person "Fred" Person

Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 21 Ταύτιση σε αντιπαράθεση με ισότητα για Strings "quit" String command command = "quit"; if(command == "quit") {... } "quit" String ==?  false == ελέγχει την ταύτιση

Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 22 Ταύτιση σε αντιπαράθεση με ισότητα για Strings "quit" String command command = "quit"; if(command.equals("quit")) {... } "quit" String equals?  true equals ελέγχει για ισότητα

Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 23 Μετατροπή από/σε String Συχνά είναι αναγκαία η μετατροπή ενός αντικειμένου τύπου String σε αντικείμενα άλλων τύπων (Integer, Boolean, …), και αντίστροφα. Ο τύπος-αποτέλεσμα της μετατροπής περιέχει την μέθοδο που θα κληθεί για να πραγματοποιήσει την μετατροπή. (Παράδειγμα: μετατροπή από String σε Integer μια μέθοδο στην κλάση Integer.)

Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 24 Μέθοδοι μετατροπής από/σε String Μετατροπή απόσε String booleanString.valueOf(boolean) intString.valueOf(int) longString.valueOf(long) floatString.valueOf(float) doubleString.valueOf(double) Μετατροπή σε από String booleannew Boolean(String).booleanValue() intInteger.parseInt(String, int base) longLong.ParseLong(String, int base) floatnew Float(String).floatValue() doublenew Double(String).doubleValue()

Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 25 Το πρόβλημα της συνεχούς μετατροπής name = title + " " + firstName + " " + lastName; "Mr Fred" "Mr " "Fred""Simpson""Mr" "Mr Fred " "Mr Fred Simpson" Η δημιουργία πολλών ενδιάμεσων αντικειμένων είναι αντιπαραγωγική

Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 26 Η κλάση StringBuffer name = new StringBuffer().append(title).append(" ").append(firstName).append(" ").append(lastName); Ο μεταφραστής χρησιμοποιεί ένα αντικείμενο τύπου StringBuffer για να λύσει το πρόβλημα. Έναν αντικείμενο τύπου StringBuffer αποθηκεύει ένα τροποποιήσιμο διάνυσμα από χαρακτήρες.

Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 27 Η κλάση StringBuffer Τροποποίηση του χώρου αποθήκευσης [buffer] : public void setCharAt(int index, char newChar) αλλάζει το χαρακτήρα στη θέση index StringBuffer append(String s) StringBuffer append(char ch) StringBuffer append(int i) StringBuffer append(boolean b)... (διαθέσιμη για όλους τους βασικούς τυπους)

Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 28 Η κλάση StringBuffer public String changeString(String s) { StringBuffer buffer = new StringBuffer(s); // modify StringBuffer... return buffer.toString(); } Αντικείμενα τύπου String μπορεί εύκολα να μετατραπούν σε αντικείμενα τύπου StringBuffers, και αντίστροφα.

Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 29 Η χωριτικότητα του StringBuffer public StringBuffer(int capacity); Δημιουργεί μια αποθήκη με αρχική χωρητικότητα capacity. public void ensureCapacity(int minimum); Επιβεβαιώνεται ότι η χωρητικότητα της αποθήκης είναι τουλάχιστον minimum. public int capacity(); Επιστρέφει τη χωρητικότητα της αποθήκης. ê Ενας StringBuffer είναι ένα μεταβλητού μεγέθους διάνυσμα από char. ê Παρόμοια αντιμετώπιση θεμάτων χωρητικότητας με τα διανύσματα μεταβλητού μεγέθους.

Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 30 Strings και διανύσματα από char Ένα String αναπαρίσταται με ένα διανυσμα από char s Ένα String μπορεί να μετατραπεί από/σε διάνυσμα από char s

Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 31 Παραδειγμα: διανυσμα από char s public static String squeezeOut(String from, char toss) { char[] chars = from.toCharArray(); int len = chars.length(); for (int i = 0; i < len; i++) { if (chars[i] == toss) { len--; System.arraycopy(chars, i+1, chars, i, len-i); i--; // reexamine this spot } return new String(chars, 0, len); }