webForumDet fria alternativet

hjälp med HashMap

4 svar · 502 visningar · startad av golding

goldingMedlem sedan okt. 200611 inlägg
#1

Tjena...

Jag försöker använda HashMap.
Jag har kommit en bit genom att kolla på exempel.
Jag behöver hjälp med att skriva ut i vilka listor som strängen query finns med i (Jag vill skriva ut nyckel/nycklarna).

import java.util.*;

public class test
{
	public static void main(String[] args)
	{
		HashMap myMap = new HashMap();
		
		List<String> li1 = new ArrayList<String>();
		li1.add("a");
		li1.add("b");
		li1.add("c");

		List<String> li2 = new ArrayList<String>();
		li2.add("c");
		li2.add("d");
		li2.add("e");
				
		myMap.put("a", li1);
		myMap.put("b", li2);
		
		String query = "b";
		
		// Skriv ut nycklarna som "b" finns med i!
	}
}
thojo280Medlem sedan dec. 200463 inlägg
#2

Är inte helt säker på vad du menar.

public class KeyTest
{
	public static void main(String[] args)
	{
		HashMap myMap = new HashMap();
		
		List<String> li1 = new ArrayList<String>();
		li1.add("a");
		li1.add("b");
		li1.add("c");

		List<String> li2 = new ArrayList<String>();
		li2.add("c");
		li2.add("d");
		li2.add("e");
				
		myMap.put("a", li1);
		myMap.put("b", li2);
		
		String query = "a";
		
		Iterator iterator = myMap.keySet().iterator();
		
		List<List> listsThatContainsQuery = new ArrayList<List>();
		
		while(iterator.hasNext()){
			
		String key = (String)iterator.next();
		
		List lista = (List)myMap.get(key);
		
		if(lista.contains(query)){
			listsThatContainsQuery.add(lista);
		
			
		}
		
		}
		
	
		
		// Skriv ut nycklarna som "b" finns med i!
	}
}
goldingMedlem sedan okt. 200611 inlägg
#3

thojo280 skrev:

Är inte helt säker på vad du menar.

Hmm...

Jag tror inte att den koden gjorde det jag ville.

Bättre förklaring:

Jag vill ha två st HashMap's.
HashMap 1 ska innehålla en massa listor. I listorna ska det finnas en massa ord.

Jag vill ha en array. tex. String[] s = {"a", "b", "c"};

Programmet ska söka igenom HashMap 1 och kolla vilka listor a finns med i.
Om tex. a finns med i lista 2 och 3 (i HashMap 1) ska den lägga till a i HashMap 2 med a som nyckel och en lista som value. I listan ska namnet på dom nycklarna som a fanns med i ligga. I detta fallet 2 och 3.
Sedan ska programmet göra samma ska för b och c.

Hoppas jag förklarade bättre och även att du har lust att hjälpa mig. Detta är en djungel för mig just nu! =)

thojo280Medlem sedan dec. 200463 inlägg
#4

public class Keys
{
	public static void main(String[] args)
	{
		HashMap myMap = new HashMap();
		HashMap myOtherMap = new HashMap();
		
		List<String> li1 = new ArrayList<String>();
		li1.add("a");
		li1.add("b");
		li1.add("c");

		List<String> li2 = new ArrayList<String>();
		li2.add("c");
		li2.add("d");
		li2.add("e");
		li2.add("a");
				
		myMap.put("a", li1);
		myMap.put("b", li2);
		
		String query = "d";
		
		Iterator iterator = myMap.keySet().iterator();

		ArrayList keysInMap = new ArrayList();
		while(iterator.hasNext()){
		
				
		String key = (String)iterator.next();
		
	
		List lista = (List)myMap.get(key);
		
		if(lista.contains(query))
	       keysInMap.add(key);
			
		
		}
		
		myOtherMap.put(query, keysInMap);
		
	}
}
goldingMedlem sedan okt. 200611 inlägg
#5

Grymt! Tack så mycket... Precis vad jag ville ha!

131 ms totalt · 3 externa anrop · cache AV · v20260731051352-full.56cc9887
0 ms — hämta statistik (cache)
0 ms — hämta forumlista (cache)
127 ms — hämta tråd, inlägg och bilagor (db)