Xyzar Posted February 16, 2006 Share Posted February 16, 2006 <!-- is there a quick, eay way to select a random item from a Hashmap? all i could think of is loading the names of the items in the hasmap into a second hashmap, only numbered. (an Int as the key, and name (from the first hasmap) and value). then using a random numer (random generated) to get one of the values (name) and using that value to get an item from the first hashmap if that made sence.. however i am unsure as to how ican get the names from the first hashmap (so i can out them in a new one) --> Link to comment Share on other sites More sharing options...
Svip Posted February 16, 2006 Share Posted February 16, 2006 A hashmap is like a table or array, right? If so, then you 'recreate' your first hashmap so the first column (or field) was an id. id name value 1 "A" "5" 2 "B" "10" 3 "C" "25" ... ... ... N name(N) value(N) This is just an example... Then you could figure out how large your table/hashmap was (which in my example is N). Then select a random number from 1 to N (int), and find the row you're looking for that way. I do not know java much, but here is an example in PHP: <?php$array = array(1 => array('name' => 'A','value' => 5),2 => array('name' => 'B','value' => 10),3 => array('name' => 'C','value' => 25));/* We assume that N is just 3 this time. */$r = rand(1,3);echo $array[$r]['name'].' : '.$array[$r]['value'];?> This should about something along with; A : 5 If $r was 1. I don't know if my input helped, but perhaps you could reconsider your core/structure of your program. Link to comment Share on other sites More sharing options...
Jevon Posted February 16, 2006 Share Posted February 16, 2006 Can you not access hashmap items by index rather than by key? "Face Your Fears, Live Your Dreams" - No Fear"God was a dream of good government." - Deus Ex Machina "I contend that we are both atheists. I just believe in one fewer god than you do. When you understand why you dismiss all the other possible gods, you will understand why I dismiss yours." - Stephen Roberts Link to comment Share on other sites More sharing options...
Xyzar Posted February 16, 2006 Author Share Posted February 16, 2006 <!-- you get items out of a hashmap using the key value a hashmap record is made up out of a key and a value where key can be.. anything (a number, a string) and value can be.. anything in my case the key is a string, and the value is a Room item. i've found a way though, not a nice one though the class hashmap has a method to generate a Set of the keys, and Set had a method to covert it to an array so i can (in a messy way) create an array of the key values, and then randomly select one of those --> Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now