Привет народ,
Нужна помощь, мне нужно сформировать массив of string так что бы я мог вызывать елементy массива не по индексу, а по имени (also strings). Что то типа:
public String[] sRetArray () {
// Как-то создаем и заполняем этот массив, типа
sNewRetArray["element1"] = "Privet ";
sNewRetArray["element2"] = "Alex";
return sNewRestArray;
}
Далее вызиваем эту функцию:
sArray = sRetArray ();
И используем элементи:
System.out.println ( sArray["element1"] + sArray["element2"] );
Я понимаю, что написал блок схему очень вольно, но это должно быть понятно.
посему теперь вопрос, как это сделать в Java?.
По каким клучевым словам искать в Google?
А если кто-нибудь может привести кусочек кода, это было бы GREAT
Спасибо,
Алекс
HashArray in Java?? or call element by name, not by index
-
- Уже с Приветом
- Posts: 1222
- Joined: 02 Jan 2002 10:01
- Location: Bellevue, WA
-
- Уже с Приветом
- Posts: 1169
- Joined: 16 Jan 2003 23:23
Re: HashArray in Java?? or call element by name, not by index
Siberian Cableman wrote:Привет народ,
Нужна помощь, мне нужно сформировать массив of string так что бы я мог вызывать елементy массива не по индексу, а по имени (also strings). Что то типа:
public String[] sRetArray () {
// Как-то создаем и заполняем этот массив, типа
sNewRetArray["element1"] = "Privet ";
sNewRetArray["element2"] = "Alex";
return sNewRestArray;
}
Далее вызиваем эту функцию:
sArray = sRetArray ();
И используем элементи:
System.out.println ( sArray["element1"] + sArray["element2"] );
Я понимаю, что написал блок схему очень вольно, но это должно быть понятно.
посему теперь вопрос, как это сделать в Java?.
По каким клучевым словам искать в Google?
А если кто-нибудь может привести кусочек кода, это было бы GREAT
Спасибо,
Алекс
HashMap, Hashtable, TreeMap.
-
- Уже с Приветом
- Posts: 136
- Joined: 19 Mar 2003 11:18
- Location: Moscow -> NYC ->CT
Re: HashArray in Java?? or call element by name, not by index
Siberian Cableman wrote:Привет народ,
.....
А если кто-нибудь может привести кусочек кода, это было бы GREAT
Спасибо,
Алекс
Вот учебный пример, оказавшийся рядом, на HashTable от Дарвина (JAVA Cookbook)
Code: Select all
import java.util.*;
/**
* Demonstrate the Hashtable class, and an Enumeration.
* @see HashMapDemo, for the newer HashMap class.
*/
public class HashTableDemo {
public static void main(String[] argv) {
// Construct and load the hash. This simulates loading a
// database or reading from a file, or wherever the data is.
Hashtable h = new Hashtable();
// The hash maps from company name to address.
// In real life this might map to an Address object...
h.put("Adobe", "Mountain View, CA");
h.put("IBM", "White Plains, NY");
h.put("Learning Tree", "Los Angeles, CA");
h.put("Microsoft", "Redmond, WA");
h.put("Netscape", "Mountain View, CA");
h.put("O'Reilly", "Sebastopol, CA");
h.put("Sun", "Mountain View, CA");
// Two versions of the "retrieval" phase.
// Version 1: get one pair's value given its key
// (presumably the key would really come from user input):
String queryString = "O'Reilly";
System.out.println("You asked about " + queryString + ".");
String resultString = (String)h.get(queryString);
System.out.println("They are located in: " + resultString);
System.out.println();
// Version 2: get ALL the keys and pairs
// (maybe to print a report, or to save to disk)
Enumeration k = h.keys();
while (k.hasMoreElements()) {
String key = (String) k.nextElement();
System.out.println("Key " + key + "; Value " +
(String) h.get(key));
}
}
}
-
- Уже с Приветом
- Posts: 1222
- Joined: 02 Jan 2002 10:01
- Location: Bellevue, WA
Here is what I found:
Return should be Hello Alex string.
My question is if it is possible to modify this code/ find another solution to call elements by names like
System.out.println ( hm[ "element1"] + hm[ "element2"] );,
that avoids using get() function and toString() method?
Code: Select all
class HashSampleUse {
public HashMap getHashMap () {
HashMap hashMap = new HashMap();
hashMap.put( "element1", "Hello " );
hashMap.put( "element2", "Alex" );
return hashMap;
}
static public void main () {
HashSampleUse hsu = new HashSampeUse();
HashMap hm = hsu.getHashMap();
System.out.println ( hm.get( "element1" ).toString() + hm.get( "element2" ).toString() );
}
}
Return should be Hello Alex string.
My question is if it is possible to modify this code/ find another solution to call elements by names like
System.out.println ( hm[ "element1"] + hm[ "element2"] );,
that avoids using get() function and toString() method?
-
- Уже с Приветом
- Posts: 1222
- Joined: 02 Jan 2002 10:01
- Location: Bellevue, WA