Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

OPI_LR2011_ch3

.pdf
Скачиваний:
5
Добавлен:
07.02.2016
Размер:
1.31 Mб
Скачать

81

e isEmpty() f true, i f

( . g (

firstElement(), - lastElement(), -

- get(int index)

elementAt(int index).

D @ 'f object. '

.

. ( object[] ( toArray() toArray(Object[] ). E

, i . e

contains(object element) f true, i element

f . e containsAll(Collection ) f

true, i .

/ @ g @

element:

indexof(Object element) - f g

;

indexOf(Object element, int begin) - g, @

begin @;

lastIndexOf(object element) - f

;

lastIndexOf(Object element, int start) - g

start @ . G i ,

f -1.

e remove(Object element) f g

( element. f true, i

g.

remove(int index) f index

f object.

5 @ void: removeElement(Object element) removeElementAt(int index), i

@ .

? ( removeRange(int begin, int end), i f . ? @

begin @ end @.

? coll (

removeAll(Collection coll). ?

(, g setSize(int newSize). ?

// •O4f/> OgORO7: // x9:=778> OgORO7:
// aRO7fNbR2 ]/9g2 OgORO7:8@
// ?26=bR2 @ P87O_; @P242]O72\2 @OP:24= // m:=@/R2 @ 023/_8n 3
// •O4O</4=bR2 @O9; @OP:24
// ?26=bR2 @ P87O_; @OP:24=

82

, @ coll, f

retainAll(Collection coll). ?

( clear()

removeAllElements() g setSize(). ' 7.1 @f @ .

' 7.1. =

Vector v = new Vector();

String s = "1562P, 5P/> R/ S2]OR2 4238<4=:/ 7= 9g2@=."; StringTokenizer st = new StringTokenizer(s, " \t\n\r,."); while(st.hasMoreTokens()){

// x6O4^NbR2 9g2@2 > 3=729/R2 N @OP:24 v.add(st.nextToken());

}

System.out.println(v.firstElement());

System.out.println(v.lastElement());

v.setSize(4); v.add("38<4=:/."); v.set(3, "372@N");

for(int i = 0; i < v.size; i++) System.out.print(v.get(i) + " "); System.out.println();

C vector f , ( 'f object,

- 'f, 'f @. D

f f . E (

@ . ' ,

g, @.

7.2.2 7 Stack 7 Hashtable 7 Properties

C stack java.util f f . >(stack) f

f LIFO(Last In - First Out). ' @ @f

( stack(). ' @

@ , " " ,

, i .

E vector, stack '

, i @ @ f@ :

push(Object item) -02R8j=b OgORO7: item N 9:OP; pop() - @/:5\=b @O4S78> OgORO7: 38 9:OP=;

peek() - ]/:=b @O4S78> OgORO7:, 7O @/:5\=n]/ >2\2 38 9:OP=; empty() - 0O4O@845b, ]/ 7O 0242^78> 9:OP;

search(object item) - 37=S26/:; 023/_8n OgORO7:= item N 9:O_8. iO4S78> OgORO7: R=b 023/_8n 1, 086 7/R OgORO7: 2 8 :.6. lPj2 OgORO7: 7O 37=>6O7/>, @O4:=b:;95 - 1.

83

' 7.2 f, (

.

' 7.2. ' (

import java.utii.*; class StackTest{

static boolean checkParity(String expression, String open, String close){ Stack stack = new Stack();

StringTokenizer st = new StringTokenizer(expression, " \t\n\r+*/-(){}", true); while(st.hasMoreTokens()) {

String tmp = st.nextToken(); if(tmp.equals(open)), stack.push(open);

if(tmp.equals(close)) stack.pop();

}

if(stack.isEmpty()) return true/return false;

}

public static void main(String[] args){ System.out.println(

checkParity(a -(b -(c - a) /(b + c) - 2), "(", ")");

}

}

7 Hashtable

C Hashtable g @f Dictionary. ?'f @ "@ - ".

C ( 'f Hashtable (size) -

, f i : f(capacity) - +,

((load factor) - @ +,

g f .

E 'f Hashtable f

: Hashtable();

Hashtable(int capacity);

Hashtable(int capacity, float loadFactor); Hashtable(Map f);

E 'f Hashtable @

:

Object put(Object key, Object value) - f " keyvalue ",

i @ key , @f value @ key, i ( f ;

void putAll(Map f) - f ( f.

get(Object key) f @ key

'f object.

e containsKey(object key) f true, i

f @ key.

84

e containsValue(Object value)

contains(object value) @ true, i f @

value. e isEmpty() f true, i

f . values() f

value + Collection. ? +

'f collection @@ @, . keySet() f

@ key + set. ? 'f set

@ @, .

7.3 , ( Hashtable

+ , . 7.1 - f

.

' 7.3. ; +

import java.util.*; class PhoneBook{

public static void main(String[] args){ Hashtabie yp = new Hashtabie();

String name = null; yp.put("John", "123-45-67"); yp.put("Lemon", "567-34-12"); yp.put("Bill", "342-65-87"); yp.put("Gates", "423-83-49"); yp.put("Batman", "532-25-08");

try{

name = args[0];

(catch(Exception e){

System.out.println("Usage: Java PhoneBook Name");

return;

}

if(yp.containsKey(name))

System.out.println(name + "'s phone = " + yp.get(name)); else

System.out.println("Sorry, no such name"); ) }

= 7.1 – = + @ @

85

7 Properties

C Properties g @f Hashtable. ?

. ' @ string.

Properties :

Properties() - @f ( 'f;

Properties(Properties default) - @f 'f

default.

E , i @ @-

: string getProperty(string key) - f @ key ; String getProperty(String key, String defaultValue) - f

@ key; i @ f, f defaultValue.

setProperty(String key, String value) f , i @ key f, @f , i @ key f.

load(Inputstream in) ( f in.

list(PrintStream out) £ list(PrintWriter out)

out. store(OutputStream out, String header)

out header.

E ( 7.4 f

Java.

' 7.4. ?

class Prop{

public static void main(String[] args){ System.getProperties().list(System.out);

} }

' Vector, Stack, Hashtabie, Properties @

- . ; Java2 f

. ? . 7.2. C

+. ' @ , i @

+. ? ; , +

List, Set Map.

' + List ( (

Vector, + - Hashtable. C List Set @ ,

'f + Collection.

86

= 7.2 – 0f +-

7.2.3 ( +( Collection

0 + collection java.util f

List set. ?

, :

boolean add(Object obj) – f obj ;

f false, i ( f; f true, i g g;

boolean addAll(Collection coll) – f

coll ;

void clear() – f ;

boolean contains(Object obj) – f obj

;

boolean containsAll(Collection coll) – f

coll ;

boolean isEmpty() – f, ( ;

iterator iterator() – f ;

boolean remove(object obj) – f

; f false, i , true, i

g g;

87

boolean removeAll(Collection coil) – f

, i ( ;

boolean retainAll(Collection coll) – f

, coll ;

int size() – f ;

object[] toArray() – f

;

Object[] toArray(object[] a) – f

, i .

7.2.4 ( +( ListIterator

0 + ListIterator g @f + iterator,

@ i ,

. ? (

, f

.

? + ListIterator :

void add(Object element) – f element

;

boolean hasPrevious() – f true, i f

, i ;

int nextIndex() – f ; i

f , f ;

Object previous() – f

;

int previous index() – f ;

void set(Object element) – f

element; f next() previous(). ' 7.5

Listiterator list = v.listIterator(); // . ( f

// ' ( f

try{

while(list.hasNext()) // ' f

System.out.println(lit.next()); // '

//; ( . '

while(list. hasPrevious()) System.out.println.list.previblis());

}catch(Exception e)()

88

D, i next() previous()

.

7 4, n " EE ] 4 14

C ArrayList @ f + List

iterator. C ArrayList ( ( Vector, f (

( ( .

ArrayList : ArrayList()-@f

( 'f; ArrayList(Collection coil) - @f 'f, i

coll; ArrayList(int initCapacity) - @f

( 'f f initCapacity.

" "7( 4 4 1

C LinkedList @ f + List

, i @@ . ? f iterator listiterator. D (

p ,

.

LinkedList : LinkedList - @f

( 'f; LinkedList(Collection coll) - @f 'f, i

coll.

7.2.5 7(1;,<

0 + Comparator f :

int compare(Object obj1, object obj2) f 'f , i objl

g obj2; , i ( @ ; , i obj1 g obj2;

boolean equals(Object obj) @f 'f 'f obj,

@ true, i 'f .

E ( ( , g

, 'f

SortedMap .

. C, i @@ (

C HashSet @ f + set

iterator. C HashSet f ,

@ ( .

HashSet :

Hashset(); HashSet(int capacity); HashSet(int capacity, float loadFactor); HashSet(Collection coll).

89

)91 " , ! o4 4

C TreeSet @ f + sortedSet

iterator. C TreeSet g,

@ . D

@f g . ' f

( , 'f, i f

+ Comparator.

D g (, ,

, f - @, i

f (.

TreeSet : TreeSet(); TreeSet(Comparator ); TreeSet(Collection coll); TreeSet(SortedMap sf).

7.6 , (

.

' 7.6.

TreeSet ts = new TreeSet(new ComptexCompare()); ts.add(new Complex(1.2, 3.4));

ts. add(new Complex(-1.25, 33.4»; ts.add(new Complex(1.23, -3.45)); ts.add(new Complex(16.2, 23.4)); Iterator it = ts.iterator();

while(it.hasNext()),((Complex)it.next()).pr();

E

C

g . E ( f

g . D g

Collections.

( 94 17 Collections

? collections , (

, @@ Collections. > ( f

, f + List. E

collections f :

static void sort(List coll) - f @ coll, i

f + List;

static void sort(List coll, Comparator c) - f @ coll ,

'f . ' ( g :

static int binarySearch(List coll, Object element) - g f element

coll f

f , i ; ’f f ,

element @, ;

90

static int binarySearchfList coll, Object element, Comparator c) - (,

, 'f .

/ g g : static object max(Collection coll) - f g

coll;

static Object max(Collection coll, Comparator c) – ( , 'f c;

static object min(Collection coll) - f g

ll;

static Object min(Collection coll, Comparator c) - ( , 'f .

E "g @"

:

static void shuffle(List coll) - @ ; static void shuffle(List coll, Random r) - @ 'f r.

reverse(List coll) @f g .

copy(List from, List to) @f @ from @ to.

fill(List coll, object element) f @ coll element.

7.3"9 ) 9 4

7.3.1.

@ , @ , (

.

7.3.2? Java -

.

7.3.3? :

1)Student: id, ' i, 0' , ' , E (, 5, ; +, 7, C, . > 'f. ?:

) +;) ( + ;

) , i ;) .

? +, . ? +

.

2)Customer: id, ' i, 0' , ' , 5, :

, : . >

'f. ?:

) @;

) , f

.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]