키 이름에 따라 HashMap에서 문자열 값 가져오기
는 나나 a a a가 있다HashMap
다양한 키와 값을 사용하여 하나의 값을 출력하려면 어떻게 해야 합니까?
에 키가 .my_code
문자열이 포함되어 있어야 하는데 어떻게 하면 맵에서 반복하지 않고 문자열을 얻을 수 있을까요?
지금까지 난..
HashMap newMap = new HashMap(paramMap);
String s = newMap.get("my_code").toString();
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★를 기대하고 있습니다.String
나 「만, 「ABC」를 「DEF」라고, 「ABC」라고 하는 것이 됩니다System.out.println()
...java.lang.string#F0454
죄송하지만, 저는 짐작하시는 것처럼 지도를 잘 모릅니다.
그냥 사용하시겠습니까?
Object value = map.get(myCode);
여기 지도에 대한 튜토리얼이 있습니다.이 튜토리얼은 도움이 될 것입니다.https://docs.oracle.com/javase/tutorial/collections/interfaces/map.html
편집: 질문을 다음과 같이 편집했습니다.
처음에는 "ABC"나 "DEF"와 같은 문자열이 표시됩니다만, System.out.println()을 실행하면 java.lang.string#F0454와 같은 문자열이 표시됩니다.
죄송하지만, 저는 짐작하시는 것처럼 지도를 잘 모릅니다.
의 결과를 보고 계십니다. 하지만java.lang.String
소문자를 사용하여 커스텀 구현을 작성하지 않는 한 이미 구현되어 있어야 합니다.s
: 름: :java.lang.string
. 오브젝트일 에는 커스텀 오브젝트보다 Object#toString()
이 수 있는System.out.println()
★★★★★★★★★★★★★★★★★」toString()
원하는 오브젝트 위에 있습니다.예를 들어 다음과 같습니다.
@Override
public String toString() {
return "This is Object X with a property value " + value;
}
키/값을 문자열로 저장하는 경우 다음과 같이 작동합니다.
HashMap<String, String> newMap = new HashMap<String, String>();
newMap.put("my_code", "shhh_secret");
String value = newMap.get("my_code");
문제는 HashMap에 입력되는 항목(키와 값)입니다.
Generics를 사용하여 맵을 다음과 같이 정의할 경우
Map<String,String> map = new HashMap<String,String>();
그런 다음 값을 가져옵니다.
String s = map.get("keyStr");
string 값을 얻기 위해 map.get() 또는 toString 메서드를 호출할 필요가 없습니다.
유감스럽지만 당신의 질문은 전혀 명확하지 않습니다.키에는 "이름"이 없습니다.지도에 관한 한 아무것도 "호명"되지 않습니다.그것은 키일 뿐이며, 다른 키와 비교됩니다.만약 당신이 많은 종류의 키를 가지고 있다면, 나는 제정신을 위해 그것들을 다른 지도에 배치하는 것을 강력히 추천한다.
이것이 도움이 되지 않는 경우는, 질문을 명확하게 해 주세요.가능하다면, 그 의미를 나타내는 코드를 사용해 주세요.
map.get(myCode)
여기서 주의할 점은 키가 Java에서 사용자 정의 클래스의 객체일 경우 동등한 메서드를 덮어쓰도록 하는 것입니다.HashMap.get(오브젝트 키) 메서드는 키 값을 일치시키기 위해 동일한 메서드를 사용하기 때문입니다.equals 메서드를 덮어쓰지 않으면 키의 실제 값이 아니라 단순히 참조를 기준으로 값을 찾으려 합니다.이 경우 항상 null이 반환됩니다.
HashMap을 :-로 선언했다고 가정합니다.
HashMap<Character,Integer> hs = new HashMap<>();
그러면 맵의 키는 문자 데이터형이고 값은 int형입니다.여기서 키 유형, 값 유형에 관계없이 키에 대응하는 값을 가져오려면 구문은 :- 입니다.
char temp = 'a';
if(hs.containsKey(temp)){
` int val = hs.get(temp); //val is the value corresponding to key temp
}
그래서 당신의 질문에 따르면 당신은 키에 대응하는 문자열 값을 얻기를 원합니다.이를 위해 HashMap을 HashMap으로 선언합니다.< " datype of key " , datype of value " hs = new HashMap < > ( ) 。이를 사용하면 기본적으로는 hs.get my_code)의 결과를 문자열로 변환할 필요가 없습니다.
다음 예에서는 keySet(), get(), values() 및 entrySet() 함수를 사용하여 맵 내의 키와 값을 얻는 방법을 보여 줍니다.
Map<Integer, String> testKeyset = new HashMap<Integer, String>();
testKeyset.put(1, "first");
testKeyset.put(2, "second");
testKeyset.put(3, "third");
testKeyset.put(4, "fourth");
// Print a single value relevant to a specified Key. (uses keySet())
for(int mapKey: testKeyset.keySet())
System.out.println(testKeyset.get(mapKey));
// Print all values regardless of the key.
for(String mapVal: testKeyset.values())
System.out.println(mapVal.trim());
// Displays the Map in Key-Value pairs (e.g: [1=first, 2=second, 3=third, 4=fourth])
System.out.println(testKeyset.entrySet());
해시맵에서 get(Object key) 메서드를 사용할 수 있습니다.대부분의 경우 맵 키에 유용한 클래스가 되려면 키 클래스가 동등한 메서드를 덮어써야 합니다.
HashMap<Integer, String> hmap = new HashMap<Integer, String>();
hmap.put(4, "DD");
키에 매핑된 값4
이DD
언급URL : https://stackoverflow.com/questions/1789679/get-string-value-from-hashmap-depending-on-key-name
'source' 카테고리의 다른 글
org.hsqldb.HsqlException: 사용자에게 권한이 없거나 개체를 찾을 수 없습니다. DATE_FORMAT (0) | 2023.01.19 |
---|---|
Node.js Mongoose를 사용하여 문서를 삭제하려면 어떻게 해야 합니까? (0) | 2023.01.19 |
도우미 클래스와 유틸리티 클래스의 차이점은 무엇입니까? (0) | 2023.01.19 |
템플릿의 모델 인스턴스 필드 이름 및 값에 대해 반복 (0) | 2023.01.19 |
max_allowed_packet 크기를 변경하는 방법 (0) | 2023.01.09 |