CC 55CCHAPTERHAPTER 55
AARRAYRRAY & S& STRINGTRINGMr.Warawut Khangkhan
e-Mail: [email protected]
Social Media: www.facebook.com/AjWarawut
Mr.W
ara
wut K
hangkhan
Chapte
r 5 A
rray &
Strin
g
AARRAYRRAY
Arra
y &
Strin
g
2
AARRAYRRAY
�Array (��������) ����� ���� ����������������ก��������
��������ก� ����กก�!� 1 �!� ����ก����� �"��#��$���"��
�����ก� ��������$�� #%�$&! (Index) ��#����ก
�%��������� �����ก
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
g
�%��������� �����ก
���� ���� �� ����������'ก������������&���( �!�����ก�����!
)&!������*%�#!��"�� ก� ���)�� Index ��� �+ �!����������
#�� ก��
3
Arra
y &
Strin
g
�����ก���� 1
Index � [0] [1] … [n-1]
�����ก���� 2 … �����ก���� n
��������������������������������
�$�ก��������� ���������*���ก��
� ���������� ���������,"-.� (Array of Primitive Data
Type)
� ���������� ���������$����/�/�����0� (Array of
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
g
� ���������� ���������$����/�/�����0� (Array of
Reference Data Type)
�*%�$ก��������� ��������
� #��$���������� 1 ��#� (One-Dimensional Array)
� #��$����������&�����#� (Multi-Dimensional Array)4
Arra
y &
Strin
g
OONENE--DDIMENSIONALIMENSIONAL AARRAYRRAY Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
g
dataType [ ] arrayName
ก�����ก������������������ 1 ����
ก��������������������������ก����� �!�����!�"���ก��
5
Arra
y &
Strin
garrayName = new dataType[ n ];
ก��������������������������ก����� �!�����!�"���ก��
Example:
int[ ] number;
number = new int[5];
orint number = new int[5];
OONENE--DDIMENSIONALIMENSIONAL AARRAYRRAY Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
g
dataType[ ] arrayName =
{ init_value1, init_value2, …,
init_value };
ก��ก�����#$�!���������������
6
Arra
y &
Strin
g
init_value };
Example:
char[ ] grade = {‘A’, ‘B’, ‘C’, ‘D’, ‘F’};
OONENE--DDIMENSIONALIMENSIONAL AARRAYRRAY Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
g
arrayName[0] = init_value1;
arrayName[1] = init_value2;
…
ก��ก�����#$�!��������������� (�$�)
7
Arra
y &
Strin
g
…
arrayName[n-1] = init_value
Example:
char[ ] grade;
grade = new char[2];
grade[0] = ‘A’
grade[1] = ‘B’
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
gA
rray &
Strin
g
8
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
gA
rray &
Strin
g
9
OONENE--DDIMENSIONALIMENSIONAL AARRAYRRAY Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
g
for (int i = 0; i < arrayName.length; i++) {
statements;
};
ก���$���'�ก���������('!������������������#������ for
10
Arra
y &
Strin
g
};
length �� method ���)���%�&���&�*%�������ก
�� #��$����������
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
gA
rray &
Strin
g
11
METHOD �� CLASS ARRAYS
�method binarySearch( ) – )��)ก��&�
*%�������ก�� #��$�� array
nnnn = = = = arrayName.lengtharrayName.lengtharrayName.lengtharrayName.length;;;;
method sort( ) –
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
g
�method sort( ) – )���%�&������� �%����)#��$��
array *�ก��� �&���ก
Arrays.sortArrays.sortArrays.sortArrays.sort((((arrayNamearrayNamearrayNamearrayName););););
12
Arra
y &
Strin
g
METHOD �� CLASS ARRAYS
�method binarySearch( ) – )��)ก����&�
���������#�� ก��)#��$�� array (*������ �%����ก!�)
idxValueidxValueidxValueidxValue = = = =
Arrays.binarySeachArrays.binarySeachArrays.binarySeachArrays.binarySeach((((arrNamearrNamearrNamearrName, , , ,
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
g
Arrays.binarySeachArrays.binarySeachArrays.binarySeachArrays.binarySeach((((arrNamearrNamearrNamearrName, , , ,
valvalvalval););););
�method fill( ) – )���%�&���ก%�&��!�������)&�ก��
#��$�� array *�ก��� �&���ก
Arrays.fillArrays.fillArrays.fillArrays.fill((((arrayNamearrayNamearrayNamearrayName, value);, value);, value);, value);13
Arra
y &
Strin
g
METHOD �� CLASS ARRAYS
�method equals( ) – )���%�&���������������!�
������)#��$�� array
result = result = result = result =
Arrays.equalsArrays.equalsArrays.equalsArrays.equals(arrayName(arrayName(arrayName(arrayName1111, , , ,
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
g
Arrays.equalsArrays.equalsArrays.equalsArrays.equals(arrayName(arrayName(arrayName(arrayName1111, , , ,
arrayNamearrayNamearrayNamearrayName2222););););
14
Arra
y &
Strin
g
Example Source Code: ChExample Source Code: ChExample Source Code: ChExample Source Code: Ch05050505____04040404
TTWOWO--DDIMENSIONALIMENSIONAL AARRAYRRAY Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
g
dataType [ ][ ] arrayName
ก�����ก������������������ 2 ����
ก��������������������������ก����� �!�����!�"���ก��
15
Arra
y &
Strin
garrayName = new dataType[ m ][ n ];
ก��������������������������ก����� �!�����!�"���ก��
Example:
int[ ][ ] number;
number = new int[2][4];
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
gA
rray &
Strin
g
16
"#�����������('"#�����������(' AARRAYRRAYLLISTIST
�ArrayList ����� ���� �����������ก��*���ก��)���$��
���ก���%�������#!��"�� ���)����������$�'��� �+ ������)
�%����)�( ����ก���'�3#%�$&! (index) �� ���������
#�� ก��
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
g
#�� ก��
�ArrayList �� ���ก���ก����������'�4� object 0+� ��
array �� Reference ��'�4�&+� �������������
��� ���� �����#���#�
17
Arra
y &
Strin
g
METHOD �� CLASS
ARRAYLIST
�method size( ) – &�*%�������ก��- &���� ArrayList
n = n = n = n = arrayListName.sizearrayListName.sizearrayListName.sizearrayListName.size( );( );( );( );
method add( ) – )���,��������ก) ArrayList
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
g
�method add( ) – )���,��������ก) ArrayList
arrayListName.addarrayListName.addarrayListName.addarrayListName.add((((objectValueobjectValueobjectValueobjectValue););););
ororororarrayListName.addarrayListName.addarrayListName.addarrayListName.add(index, (index, (index, (index,
objectValueobjectValueobjectValueobjectValue););););
18
Arra
y &
Strin
g
METHOD �� CLASS
ARRAYLIST
�method get( ) – &��!������ก) ArrayList 5 #%�$&! ���#�� ก��
objectValueobjectValueobjectValueobjectValue = = = = arrayListName.getarrayListName.getarrayListName.getarrayListName.get(index);(index);(index);(index);
�method remove( ) – )���������ก) ArrayList
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
g
�method remove( ) – )���������ก) ArrayList
ArrayList 5 #%�$&! ���#�� ก�� arrayListName.removearrayListName.removearrayListName.removearrayListName.remove(index);(index);(index);(index);
�method indexOf( ) – )����&��!�#%�$&! �� �����ก���#�� ก��) ArrayList
index = index = index = index = arrrayListName.indexOfarrrayListName.indexOfarrrayListName.indexOfarrrayListName.indexOf((((objectValueobjectValueobjectValueobjectValue););););
19
Arra
y &
Strin
g
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
gA
rray &
Strin
g
20
ก��!��#������ก��!��#������ FFOROR EACHEACH LOOPLOOP
����%���� �����,"�������+ ������$#!�'#%�$&! )�������� &�"�ArrayList
��!���6� ก�ก���ก�����7��,���)��"�� ก����� �+ ����������ก�
�����#�� �����������
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
g
�����#�� �����������(IndexOutOfBoundsException)
����*%�ก�� �"� �!������ก%�&������#�� ก������#�����
#�� ก�� ��
21
Arra
y &
Strin
g
ก��!��#������ก��!��#������ FFOROR EACHEACH LOOPLOOPM
r.Wara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
g
for (arrayType arrayValue : arrayName) {
statement;
}
�(����
22
Arra
y &
Strin
g
}
arrayType ������������� array &�"� ArrayList
arrayValue ���"��#��$�����)�������+ ������)$#!�'���
arrayName ���"��#��$�� array &�"� ArrayLit
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
gA
rray &
Strin
g
23
ก��!��ก��!�� EENUMERATEDNUMERATED TTYPESYPES
������ ���� ������������� �+-�%�&���ก%�&�ก�3!��� �!�� ���
��� �!#�� ก%�&���!�� ������'�!�
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
g
�(����
24
Arra
y &
Strin
genumName {value-1, value-2, …, value-n}
�(����
Example Source Code: ChExample Source Code: ChExample Source Code: ChExample Source Code: Ch05050505____08080808
Mr.W
ara
wut K
hangkhan
Chapte
r 5 A
rray &
Strin
g
SSTRINGTRING
Arra
y &
Strin
g
25
SSTRINGTRING
�����������������'ก������#����ก��'&���( #�������� #!�
ก����������
�ก��*� ,"-���&!������*%� *'��ก��*� �,"���ก���!���
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
g
#%�$&! ��� �� ���)��)ก�������+ �!������� ��� �!)�!�!��� ������
26
Arra
y &
Strin
g
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
gA
rray &
Strin
g
27
METHOD �� CLASS STRING
�method equals( ) – )���%�&���������������!�
��������� String 2 �!�
result = strresult = strresult = strresult = str1111.equals(str.equals(str.equals(str.equals(str2222););););
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
g
28
Arra
y &
Strin
g
)����#$��$�ก�� *�#+�#$���,� True
)����#$� �$�$�ก�� *�#+�#$���,� False
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
gA
rray &
Strin
g
29
METHOD �� CLASS STRING
�method compareTo( ) – )���%�&���
������������!���������� String 2 �!�
result = strresult = strresult = strresult = str1111.compareTo(str.compareTo(str.compareTo(str.compareTo(str2222););););
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
g
30
Arra
y &
Strin
g
)�� str1 ��#$� > str2 *�#+�#$���,� -*������.��ก/
)�� str1 ��#$� = str2 *�#+�#$���,� -*������.��(���/
)�� str1 ��#$� < str2 *�#+�#$���,� -*������.�'�/
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
gA
rray &
Strin
g
31
METHOD �� CLASS STRING
�method concat( ) – )���%�&�����"���#!�������
��� String &�"�)�����"�� &��� +
strstrstrstr3 3 3 3 = str= str= str= str1111.concat(str.concat(str.concat(str.concat(str2222););););
orororor
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
g
ororororstrstrstrstr3 3 3 3 = str= str= str= str1 1 1 1 + str+ str+ str+ str2222;;;;
32
Arra
y &
Strin
g
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
gA
rray &
Strin
g
33
METHOD �� CLASS STRING
�method substring( ) – )���%�&���#��������
��� String )&�����������!��
strstrstrstr2 2 2 2 = str= str= str= str1111.substring(x, y);.substring(x, y);.substring(x, y);.substring(x, y);
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
g
34
Arra
y &
Strin
g
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
gA
rray &
Strin
g
35
METHOD �� CLASS STRING
�method replace( ) – )���%�&���#�����������
String )&�����������!��
strstrstrstr2 2 2 2 = str= str= str= str1111.replace(str.replace(str.replace(str.replace(str3333, str, str, str, str4444););););
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
g
36
Arra
y &
Strin
g
str3 ��,����#����)(ก����!����#������
str4 ��,����#������� �����!����#������
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
gA
rray &
Strin
g
37
METHOD �� CLASS STRING
�method toUpperCase( ) – )���%�&������������������ String )&���#����ก8�,��,�)&9!
strstrstrstr2 2 2 2 = str= str= str= str1111.toUpperCase( );.toUpperCase( );.toUpperCase( );.toUpperCase( );
�method toLowerCase( ) – )���%�&���������
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
g
�method toLowerCase( ) – )���%�&������������������ String )&���#����ก8�,��,����ก
strstrstrstr2 2 2 2 = str= str= str= str1111.toLowerCase( ); .toLowerCase( ); .toLowerCase( ); .toLowerCase( );
�method length( ) – )���%�&�����*%��#����ก��'�� ��������� String
n = n = n = n = str.lengthstr.lengthstr.lengthstr.length( ); ( ); ( ); ( ); 38
Arra
y &
Strin
g
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
gA
rray &
Strin
g
39
METHOD �� CLASS STRING
�method charAt( ) – )���%�&�����&�$�'$��
�!�#����ก��')��������� String 5 #%�$&! ���#�� ก��
chchchch = = = = str.charAtstr.charAtstr.charAtstr.charAt(index);(index);(index);(index);
method indexOf( ) –
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
g
�method indexOf( ) – )���%�&�����&�$�'$��
�!�#%�$&! �� #����ก��')��������� String
index = index = index = index = str.indexOfstr.indexOfstr.indexOfstr.indexOf((((chchchch); ); ); );
40
Arra
y &
Strin
g
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
gA
rray &
Strin
g
41
METHOD �� CLASS STRING
�method startsWith( ) – )���%�&���#��*���
��������!�&���� ��������� String
result result result result = = = = strstrstrstr1111.startsWith(str.startsWith(str.startsWith(str.startsWith(str2222););););
Method endsWith( ) –
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
g
�Method endsWith( ) – )���%�&���#��*���
��������!������� ��������� String
result = strresult = strresult = strresult = str1111.endsWith(str.endsWith(str.endsWith(str.endsWith(str2222); ); ); );
42
Arra
y &
Strin
g
result *�#+�#$���,� True ��+� False
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
gA
rray &
Strin
g
43
METHOD �� CLASS STRING
�method lastIndexOf( ) – )���%�&�����&�
$�'$�� �!�#%�$&! �3��������,�#����ก��')���������
String
index = index = index = index = str.lastIndexOfstr.lastIndexOfstr.lastIndexOfstr.lastIndexOf((((chchchch););););
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
g
index = index = index = index = str.lastIndexOfstr.lastIndexOfstr.lastIndexOfstr.lastIndexOf((((chchchch););););
44
Arra
y &
Strin
gindex ��,�������$��0�����������ก��� ch ��
#����1�!� str �'�!�ก�2��� �$1�����ก��� ch
*�!��#$���,�*������.�'�
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
gA
rray &
Strin
g
45
#'��#'�� SSTRINGTRINGBBUFFERUFFER �'��'�
SSTRINGTRINGBBUILDERUILDER
�class StringBuffer ����ก85'ก��)�� �
�&�"����� String $#!���35����#��� ��!� ���$#ก#!�
*�ก���� String �"�
String
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
g
� String �!������������$�� �!�������!4��) ��&�� *�ก���
��ก���� �+-��$���
� ก��)�� method ������$�� �!� String *'��ก��
���� String #��)&�! (ก���%� �����'���:�4�,��กก�!�)
46
Arra
y &
Strin
g
��� StringBuffer ��� String
#'��#'�� SSTRINGTRINGBBUFFERUFFER �'��'�
SSTRINGTRINGBBUILDERUILDER
�class StringBuilder ����ก85'ก��)�� �
�&�"����� StringBuffer $#!���35����#�
�� ��!� ���$#ก#!� *�ก���� StringBuffer �"�
class StringBuffer ��ก���%� ��������3
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
g
class StringBuffer ��ก���%� ��������3
$�'���� ��������4��)ก�5��� ����#�� �%� Thread
Synchronization $#!*'�%� �����ก�!� class
StringBuilder
47
Arra
y &
Strin
g
MMETHODETHOD !�!� CCLASSLASS SSTRINGTRINGBBUFFERUFFER
ANDAND SSTRINGTRINGBBUILDERUILDER
�method append( ) )���%�&����,����������
$��#!����������� StringBuffer ����
strstrstrstr3 3 3 3 = = = = strstrstrstr1111.append(str.append(str.append(str.append(str2222););););
method insert( )
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
g
�method insert( ) )���%�&����,����������$��
$��ก�'&�!� ������ StringBuffer ���� 5 #%�$&!
���#�� ก��
strstrstrstr3 3 3 3 = = = = strstrstrstr1111.insert(index, str.insert(index, str.insert(index, str.insert(index, str2222););););
48
Arra
y &
Strin
g
MMETHODETHOD !�!� CCLASSLASS SSTRINGTRINGBBUFFERUFFER
ANDAND SSTRINGTRINGBBUILDERUILDER
�method delete( ) )���%�&������!���
�������)������ StringBuffer 5 #%�$&! ���
#�� ก��
strstrstrstr2 2 2 2 = = = = strstrstrstr1111.delete(x, y);.delete(x, y);.delete(x, y);.delete(x, y);
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
g
strstrstrstr2 2 2 2 = = = = strstrstrstr1111.delete(x, y);.delete(x, y);.delete(x, y);.delete(x, y);
�method length( ) )���%�&�����*%��#��
��ก��'�� ������ StringBuffer
intintintint n n n n = = = = str.lengthstr.lengthstr.lengthstr.length( );( );( );( );
49
Arra
y &
Strin
g
Mr.W
ara
wut
Khangkhan
Chapte
r 5 A
rray &
Strin
gA
rray &
Strin
g
50