ΠΠ΅ΡΠΎΠ΄ save(OutputStream inStream,String header) ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π½Π°Π±ΠΎΡ ΡΠ²ΠΎΠΉΡΡΠ² Π² Π²ΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡΠΎΠΊ Π² Π²ΠΈΠ΄Π΅, ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΠΎΠΌ Π΄Π»Ρ Π²ΡΠΎΡΠΈΡΠ½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° load. Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ, ΡΡΠΈΡΠ°ΡΡΠΈΠ΅ΡΡ ΡΠ»ΡΠΆΠ΅Π±Π½ΡΠΌΠΈ, ΠΊΠΎΠ΄ΠΈΡΡΡΡΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΡΠΈΡΠ°ΡΡ ΠΏΡΠΈ Π²ΡΠΎΡΠΈΡΠ½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠ΅. Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ Π² Π½Π°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ΅ Π±ΡΠ΄ΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΠΊ Π²ΠΈΠ΄Ρ \uxxxx. ΠΡΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ° ISO 8859-1. ΠΡΠ»ΠΈ ΡΠΊΠ°Π·Π°Π½ header, ΡΠΎ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ Π² Π½Π°ΡΠ°Π»ΠΎ ΠΏΠΎΡΠΎΠΊΠ° Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ (Ρ.Π΅. Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ # Π² Π½Π°ΡΠ°Π»Π΅), Π΄Π°Π»Π΅Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°Π·Π°Π½ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈ Π΄Π°ΡΠ° ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ² Π² ΠΏΠΎΡΠΎΠΊΠ΅.
Π ΠΊΠ»Π°ΡΡΠ΅ Properties ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π΅ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ list(PrintWriter out), ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ΅Π½ save. ΠΡΠ»ΠΈΡΠ°Π΅ΡΡΡ Π»ΠΈΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π½Π΅Π»ΡΠ·Ρ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΡΠΎΠΊΠΈ ΡΡΠ΅ΠΊΠ°ΡΡΡΡ ΠΏΠΎ ΡΠΈΡΠΈΠ½Π΅. ΠΠΎΡΡΠΎΠΌΡ Π΄Π°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Properties Π½Π΅ Π³ΠΎΠ΄ΠΈΡΡΡ.
public class Test {
public Test() {
}
public static void main(String[] args) {
Test test = new Test();
Properties props = new Properties();
StringWriter sw = new StringWriter();
sw.write("Key1 = Value1 \n");
sw.write(" Key2 : Value2 \r\n");
sw.write(" Key3 Value3 \n ");
InputStream is = new ByteArrayInputStream(sw.toString().getBytes());
try {
props.load(is);
}
catch (IOException ex) {
ex.printStackTrace();
}
props.list(System.out);
props.setProperty("Key1","Modified Value1");
props.setProperty("Key4","Added Value4");
props.list(System.out);
}
}
ΠΡΠΈΠΌΠ΅Ρ 14.22.
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ:
-- listing properties --
Key3=Value3
Key2=Value2
Key1=Value1
-- listing properties --
Key4=Added Value4
Key3=Value3
Key2=Value2
Key1=Modified Value1
ΠΡΠΈΠΌΠ΅Ρ 14.23.
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Comparator
Π ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈΠ»ΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΡΠ΅Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Comparator. ΠΡΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ compare(Object obj1,Object obj2), ΠΊΠΎΡΠΎΡΡΠΉ Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². ΠΠ΅ΡΠΎΠ΄ compare Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Π΅ΡΠ½ΡΡΡ:
-1 Π΅ΡΠ»ΠΈ obj1 < obj2
0 Π΅ΡΠ»ΠΈ obj1 = obj2
1 Π΅ΡΠ»ΠΈ obj1 > obj2
ΠΠ»Π°ΡΡ Arrays
Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠ»Π°ΡΡ Arrays ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π½Π°Π±ΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π½Π°Π΄ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ, ΡΠ°ΠΊΠΈΡ , ΠΊΠ°ΠΊ ΠΏΠΎΠΈΡΠΊ, ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°, ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅. Π Arrays ΡΠ°ΠΊΠΆΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ public List aList(a[] arr), ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° ΠΌΠ°ΡΡΠΈΠ²Π΅. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² List ΠΌΠΎΠΆΠ½ΠΎ Π²Π½Π΅ΡΡΠΈ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² Π΄Π°Π½Π½ΡΠ΅ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅.
public class Test {
public Test() {
}
public static void main(String[] args) {
Test test = new Test();
String[] arr = {"String 1","String 4",
"String 2","String 3"
};
test.dumpArray(arr);
Arrays.sort(arr);
test.dumpArray(arr);
int ind = Arrays.binarySearch(arr, "String 4");
System.out.println(
"\nIndex of \"String 4\" = " + ind);
}
void dumpArray(String arr[]) {
System.out.println();
for(int cnt=0;cnt < arr.length;cnt++) {
System.out.println(arr[cnt]);
}
}
}
ΠΠ»Π°ΡΡ StringTokenizer
ΠΡΠΎΡ ΠΊΠ»Π°ΡΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΡΠ°Π·Π±ΠΎΡΠ° ΡΡΡΠΎΠΊΠΈ ΠΏΠΎ Π»Π΅ΠΊΡΠ΅ΠΌΠ°ΠΌ ( tokens ). Π‘ΡΡΠΎΠΊΠ°, ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ StringTokenizer(String str). ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Π΅ΡΠ΅ Π΄Π²Π° ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½Π½ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΡΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΡΡΠΎΠΊΡ-ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ Π»Π΅ΠΊΡΠ΅ΠΌ StringTokenizer(String str, String delim) ΠΈ ΠΏΡΠΈΠ·Π½Π°ΠΊ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ Π»Π΅ΠΊΡΠ΅ΠΌ StringTokenizer(String str, String delim, Boolean returnDelims).
Π Π°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Π΅ΠΌ Π»Π΅ΠΊΡΠ΅ΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ»ΡΠΆΠΈΡ ΠΏΡΠΎΠ±Π΅Π».
public class Test {
public Test() {
}
public static void main(String[] args) {
Test test = new Test();
String toParse =
"word1;word2;word3;word4";
StringTokenizer st =
new StringTokenizer(toParse,";");
while(st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
}
}
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ:
word1
word2
word3
word4
ΠΠ»Π°ΡΡ BitSet
ΠΠ»Π°ΡΡ BitSet ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡΠΌΠΈ Π±ΠΈΡΠΎΠ². ΠΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΡΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π±ΡΠ»Π΅Π²ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π±ΠΈΡ ΠΈΠ»ΠΈ Π½Π΅Ρ. Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ BitSet ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ Π΄ΡΡΠ³ΠΎΠ³ΠΎ BitSet Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ AND, OR ΠΈΠ»ΠΈ XOR (ΠΈΡΠΊΠ»ΡΡΠ°ΡΡΠ΅Π΅ ΠΈΠ»ΠΈ).
BitSet ΠΈΠΌΠ΅Π΅Ρ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ (ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π±ΠΈΡΠΎΠ²), ΠΌΠΎΠΆΠ΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΡΠ΅ Π±ΠΈΡΡ Π² Π½Π°Π±ΠΎΡΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ Π² 0 (false). Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ ΠΎΡΠΈΡΡΠΊΠ° Π±ΠΈΡΠΎΠ² Π² BitSet ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ set(int index) ΠΈ clear(int index).
ΠΠ΅ΡΠΎΠ΄ int length() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ "Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ" ΡΠ°Π·ΠΌΠ΅Ρ Π½Π°Π±ΠΎΡΠ° Π±ΠΈΡΠΎΠ², int size() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ°ΠΌΡΡΠΈ, Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠΉ Π±ΠΈΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ BitSet.
public class Test {
public Test() {
}
public static void main(String[] args) {
Test test = new Test();
BitSet bs1 = new BitSet();
BitSet bs2 = new BitSet();
bs1.set(0);
bs1.set(2);
bs1.set(4);
System.out.println("Length = " + bs1.length()+" size = "+bs1.size());
System.out.println(bs1);
bs2.set(1);
bs2.set(2);
bs1.and(bs2);
System.out.println(bs1);
}
}
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ:
Length = 5 size = 64
{0, 2, 4}
{2}
ΠΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π² ΠΏΠ΅ΡΠ²ΡΡ ΡΡΡΠΎΠΊΡ Π²ΡΠ²ΠΎΠ΄Π° Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ²ΠΎΠ΄, ΡΡΠΎ Π΄Π»Ρ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ BitSet ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠ° long.
ΠΠ»Π°ΡΡ Random
ΠΠ»Π°ΡΡ Random ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠ΅Π²Π΄ΠΎΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π». Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ "Π·Π΅ΡΠ½Π°" ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ 48-Π±ΠΈΡΠΎΠ²ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ. ΠΡΠ»ΠΈ Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Random Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ ΡΠΈΡΠ»ΠΎ, Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π° ΡΠ° ΠΆΠ΅ ΡΠ°ΠΌΠ°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΡΠ΅Π²Π΄ΠΎΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π».
Π ΠΊΠ»Π°ΡΡΠ΅ Random ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΏΡΠ΅Π²Π΄ΠΎΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ Π΄Π»Ρ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΡ ΡΠΈΠΏΠΎΠ² Java.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ Π΄Π²ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²: double nextGaussian() - Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ 0.0 Π΄ΠΎ 1.0 ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΌΡ Π·Π°ΠΊΠΎΠ½Ρ, ΠΈ void nextBytes(byte[] arr) - Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ² arr ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΌΠΈ Π²Π΅Π»ΠΈΡΠΈΠ½Π°ΠΌΠΈ ΡΠΈΠΏΠ° byte.
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Random:
public class Test {
public Test() {
}
public static void main(String[] args) {
Test test = new Test();
Random r = new Random(100);
// Generating the same sequence numbers
for(int cnt=0;cnt<9;cnt++) {
System.out.print(r.nextInt() + " ");
}
System.out.println();
r = new Random(100);
for(int cnt=0;cnt<9;cnt++) {
System.out.print(r.nextInt() + " ");
}
System.out.println();
// Generating sequence of bytes
byte[] randArray = new byte[8];
r.nextBytes(randArray);
test.dumpArray(randArray);
}
void dumpArray(byte[] arr) {
for(int cnt=0;cnt< arr.length;cnt++) {
System.out.print(arr[cnt]);
}
System.out.println();
}
}
ΠΡΠΈΠΌΠ΅Ρ 14.24.
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ:
-1193959466 -1139614796 837415749 -1220615319 -1429538713 118249332 -951589224 -1193959466 -1139614796 837415749 -1220615319 -1429538713 118249332 -951589224 81;-6;-107;77;118;17;93; -98;
ΠΡΠΈΠΌΠ΅Ρ 14.25.
ΠΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΡ
ΠΠ»Π°ΡΡ Locale
ΠΠ»Π°ΡΡ Locale ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅Π³ΠΈΠΎΠ½Π°. ΠΠΎΠ΄ ΡΠ΅Π³ΠΈΠΎΠ½ΠΎΠΌ ΠΏΡΠΈΠ½ΡΡΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΡΠ·ΡΠΊΠΎΠ²ΡΡ ΠΈ ΠΊΡΠ»ΡΡΡΡΠ½ΡΡ ΡΡΠ΅Π΄Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠΌΠΈΠΌΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΡΡΠ°Π½Π° Π¨Π²Π΅ΠΉΡΠ°ΡΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΈ ΡΠ·ΡΠΊ - ΡΡΠ°Π½ΡΡΠ·ΡΠΊΠΈΠΉ ΠΈΠ»ΠΈ Π½Π΅ΠΌΠ΅ΡΠΊΠΈΠΉ.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Π΄Π²Π° Π²Π°ΡΠΈΠ°Π½ΡΠ° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠ² Π² ΠΊΠ»Π°ΡΡΠ΅ Locale:
Locale(String language, String country)
Locale(String language, String country,
String variant)
ΠΠ΅ΡΠ²ΡΠ΅ Π΄Π²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π² ΠΎΠ±ΠΎΠΈΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠ·ΡΠΊ ΠΈ ΡΡΡΠ°Π½Ρ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π»ΠΎΠΊΠ°Π»Ρ, ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ΅ ISO. Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ ΡΡΡΠ°Π½ ΠΈ ΡΠ·ΡΠΊΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Locale.getISOLanguages() Locale.getISOCountries(), ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. ΠΠΎ Π²ΡΠΎΡΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΡΠΊΠ°Π·Π°Π½ ΡΠ°ΠΊΠΆΠ΅ ΡΡΡΠΎΠΊΠΎΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ variant, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΊΠΎΠ΄ΠΈΡΡΠ΅ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅. ΠΡΠ»ΠΈ Π·Π΄Π΅ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΡΠΎ ΠΈΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΡ, ΠΏΡΠΈΡΠ΅ΠΌ, Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ²ΡΠΌ.
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ:
Locale l = new Locale("ru","RU");
Locale l = new Locale("en","US","WINDOWS");
Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ getDefault() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΡΡ Π»ΠΎΠΊΠ°Π»Ρ, ΡΠΊΠΎΠ½ΡΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΡΠ΅Ρ JVM.
ΠΠ»Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ ΡΡ Π»ΠΎΠΊΠ°Π»Π΅ΠΉ Π·Π°Π΄Π°Π½Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Locale.US ΠΈΠ»ΠΈ Locale.GERMAN.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° Locale ΡΠΎΠ·Π΄Π°Π½, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π»ΠΎΠΊΠ°Π»ΠΈ.
public class Test {
public Test() {
}
public static void main(String[] args) {
Test test = new Test();
Locale l = Locale.getDefault();
System.out.println(l.getCountry() + " " +
l.getDisplayCountry() + " " + l.getISO3Country());
System.out.println(l.getLanguage() + " " +
l.getDisplayLanguage() + " " + l.getISO3Language());
System.out.println(l.getVariant() + " " +
l.getDisplayVariant());
l = new Locale("ru","RU","WINDOWS");
System.out.println(l.getCountry() + " " +
l.getDisplayCountry() + " " + l.getISO3Country());
System.out.println(l.getLanguage() + " " +
l.getDisplayLanguage() + " " + l.getISO3Language());
System.out.println(l.getVariant() + " " +
l.getDisplayVariant());
}
}
ΠΡΠΈΠΌΠ΅Ρ 14.26.
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ:
US United States USA
en English eng
RU Russia RUS
ru Russian rus
WINDOWS WINDOWS
ΠΡΠΈΠΌΠ΅Ρ 14.27.
ΠΠ»Π°ΡΡ ResourceBundle
ΠΠ±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ ResourceBundle ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΡ Π΄Π»Ρ Π»ΠΎΠΊΠ°Π»ΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½Π°Π±ΠΎΡ ΡΡΡΠΎΠΊ, Π·Π°Π²ΠΈΡΡΡΠΈΡ ΠΎΡ Π»ΠΎΠΊΠ°Π»ΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ResourceBundle.
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ResourceBundle Π½Π°ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ, Π΅ΡΠ»ΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΠΌΠ½ΠΎΠ³ΠΎΡΠ·ΡΠΊΠΎΠ²ΠΎΠΉ ΡΡΠ΅Π΄Π΅. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π»Π΅Π³ΠΊΠΎ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π½Π°Π±ΠΎΡΠ°ΠΌΠΈ ΡΠ΅ΡΡΡΡΠΎΠ², Π·Π°Π²ΠΈΡΡΡΠΈΡ ΠΎΡ Π»ΠΎΠΊΠ°Π»Π΅ΠΉ, ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡΡ, Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΈ Ρ.Π΄.
ΠΠ°Π±ΠΎΡ ΡΠ΅ΡΡΡΡΠΎΠ² - ΡΡΠΎ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π°Π±ΠΎΡ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΈΠΌΠ΅ΡΡΠΈΡ ΠΎΠ΄Π½ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠ΅ ΠΈΠΌΡ. ΠΠ°Π»Π΅Π΅ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π»ΠΎΠΊΠ°Π»ΠΈ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠΎΡ ΠΊΠ»Π°ΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΈΠΌΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π±ΡΠ΄Π΅Ρ MyResources, ΡΠΎ Π΄Π»Ρ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΉ Π»ΠΎΠΊΠ°Π»ΠΈ ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ° Π±ΡΠ΄Π΅Ρ MyResources_en, Π΄Π»Ρ ΡΡΡΡΠΊΠΎΠΉ - MyResources_ru. ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ΅Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ·ΡΠΊΠ°, Π΅ΡΠ»ΠΈ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅Π³ΠΈΠΎΠ½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ·ΡΠΊΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, MyResources_de_CH - ΡΠ°ΠΊ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ²Π΅ΠΉΡΠ°ΡΡΠΊΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Π½Π΅ΠΌΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΈΠ·Π½Π°ΠΊ variant (ΡΠΌ. ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Locale ). Π’Π°ΠΊ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΡΠ°Π½Π½Π΅Π΅ ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ UNIX Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: MyResources_de_CH_UNIX .