The values of a HashMap

Hi,
Why does the HashMap class enforce us to use a collection to get it's elements (HashMap.values() returns a Collection)? I want to wrap a Hashmap's elements into something that is serializable, is there anyway I can do this?

iamBassas wrote:
Sorry I don't understand your point very much. I already explained why I need an ArrayList, the reciever of the collection must be serializable because it's going to be sent through a socket, that is why I wrap the values in an ArrayList. Am I doing something wrong?You need a serializable collection. Therefore you need an ArrayList.
Sorry, I don't understand that logic at all. In case you still don't see that it isn't logic, let me explain: there are many serializable collections. ArrayList is one of them. LinkedList is another. So why don't you need a LinkedList? It's quite likely that every collection in the java.util package is serializable, and it's quite likely that the one you're getting from the values() method is serializable too. So why bother copying the data from it into another collection?
Of course if you find the values() method returns a collection which isn't serializable, then you would have to copy its contents into another one. But I wouldn't do that until I found it was necessary.

Similar Messages

  • Introspection - getting  the value of a hashmap

    Hello is it possible to get the value of a hashmap by introspection :
    Here is my code that generate NoSuchFieldException :
    Class clazz = Class.forName("java.util.HashMap");
                        Object uneMap = clazz.newInstance();
                        Field champ = clazz.getField("value");
                        String val = (String)champ.get(uneMap);

    It's early in the morning for me, so I don't understand your motivation, but
    here's an example of making simple map code much harder ;-)
    import java.lang.reflect.*;
    import java.util.*;
    public class ReflectExample {
        public static void main(String[] args) throws Exception {
            Class cls = Class.forName("java.util.HashMap");
            Method put = cls.getMethod("put", Object.class, Object.class);
            Method get = cls.getMethod("get", Object.class);
            Object map = cls.newInstance();
            for(int i = 0; i < 10 ; ++i)
                put.invoke(map, i, i * i);
            for(int i = 0; i < 10 ; ++i) {
                Object value = get.invoke(map, i);
                System.out.format("map[%d] = %s%n", i, value);
    }

  • How to get the value in a hashmap with a key of expression "123-456"?

    Hi all,
    I new to java and having a problem with getting values from a hashmap.here is the code which i wrote
    Map map = new HashMap();
    int m = 123;
    int n = 456;
    String key = String.valueOf(m) + "-" + String.valueOf(n);
        map.put(key, true);
        Now i am trying to get the value and i get an exception
    boolean b = map.get(String.valueOf(m) + "-" + String.valueOf(n));Can someone help me how to pass this expression as key in the hashamp

    Hi corlettk,
    Thanks for your reply. I have defined my map as Map<String, Boolean> selectedIds = new HashMap<String, Boolean>();
                selectedIds.put("123-456", true);           
                int m=123; int n=456;
                                     selectedIds.put(String.valueOf(m) + "-" + String.valueOf(n),true);
                boolean viv = selectedIds.get("String.valueOf(m)-String.valueOf(n)");
                System.out.println(viv);
                My problem is the hashmap key must be set dynamically ("123-456" is just an example) and when i get the value i should be able to pass those varibales in an expression correctly. Please let me know how can i pass an expression like the one above as a hashmap key. Please advise.

  • Problem in setting vector or string[] as the "value object" in hashmap

    Hey I am new to this forum.
    I am doing a project in which i need to store a array of strings as "value object" for a unique key in hashmap.
    as I populate the hashmap from external file according to key and setting the string[]. The hashmap is taking the value field same for each entry i.e the last field as i keep updating the same variable and then putting it into hashmap.
    Please give solution to my problem???
    if question not clear,please tell me- i will add more information
    Edited by: AnkitNahar on Apr 4, 2009 8:06 AM

    I tried using the method suggested by you...but it is of same case as using the string[].
    I need to loop the statements in which the hashmap is populating so cant change the variable names in the dd.put() statements. When the below code executes it shows the same set of string for both the keys, that was the problem i was facing with string[].
    here is the example with two entries....same thing in looping.
    HashMap<String,Set<String>> dd=new HashMap<String,Set<String>>();
    String word = "Hello";
    Set<String> alternativeWords = new HashSet<String>();
    alternativeWords.add("Hi");
    alternativeWords.add("Yo");
    dd.put(word, alternativeWords);
    alternativeWords.clear();
    alternativeWords.add("hey");
    word="yep";
    dd.put(word,alternativeWords);
    System.out.println(dd.get("Hello").toString());
    System.out.println(dd.get("yep").toString());

  • Fetch the value from a HashMap through EL

    Hi,
    I have this question,
    how can we get a value from a HashMap through EL. is there any way to do that.
    for example i have a hashmap in my bean and i want to place the value of of certain attributes on the page. specific to the key values in the hashmap.

    Just by the key.
    ${bean.map.key}roughly resolves to bean.getMap().get(key).

  • How to get all the values from a HashMap? thanks

    hi
    can anyone tell me how to get all the keys and their values contained in a HashMap? thanks

    thanks to u all for ur response, i gues if i need to get both keys and values, i need to use keySet() to get a set of keys first and then using each key to get value. is there any other faster way to get both of them (key and value)? thanks again

  • Get the values of hashmap in another class

    Hi All,
    i already posted this topic yesterday..But i did not get any helpful response..Kindly help me because I am new to java and I need some help regarding hashmap..
    I have a one value object java class which name is HashTestingVO.java
    *******************************************INPUT OF HashTestingVO.java***************************************
    public class HashTestingVO extends PersistentVO implements ILegalWorkFlowACLVO {
    public final static HashMap legalReviewPieceRelatedACLMap = new HashMap();
    legalReviewPieceRelatedACLMap.put("Futhure Path Check","ereview_acl_piece_related_cat1");
    legalReviewPieceRelatedACLMap.put("Send to Legal Review","ereview_acl_piece_related_cat1");
    legalReviewPieceRelatedACLMap.put("Review Precondition","ereview_acl_piece_related_cat1");
    Now i want to get the Hash Map values of this in another class called Testing.java class
    Ex: i need the value like this in Testing.java
    HashTestingVO obj=new HashTestingVO();
    obj.get(Futhure Path Check) -----------> I want to get the value of key1
    Public means you can access it another class..
    But Static means within the class we will use it...

    already posted this topic yesterday..But i did not get any helpful response..Kindly help me because I am new to java and I need some help regarding hashmap..I thing Exposing your dataStructure to any other class is not the right practise.
    You can make the Hashmap object private and nonstatic and provide a getter method in this class to get the value corresponding to any particular key.
    public Object getValue(String key)
      return egalReviewPieceRelatedACLMap.get(key);
    }

  • How to get the key value of a HashMap?

    Hi,
    I have a HashMap which obviously has key/value pairs. e.g. 1=3, 2=6 etc. I can get the value by using the method xxx.get(key), but I want to be able to get the value of the key. For example, when I have the value 3 I want to be able to get the value of the key that identifies it, in the example above it would be 1.
    Is there a way to do this.
    I'd appreciate any help.
    Thanks,
    Chris

    A HashMap guarantees unique keys, but not unique values. In the following situation:
    a=2
    b=5
    c=2
    If you wanted to do a lookup based on the value, what would your lookup of 2 return? a or c?
    At any rate, if you can guarantee that your values will be unique, you could always fill a second HashMap while filling the first; the second HashMap would simply have the original values as the keys, and the original keys as the values.

  • Sorting the values in the HashMap maintaing the key-value relationship

    Hi,
    I want to sort the HashMap based on the values. I have tried several other ways but the closest I can get is sort the values but have to loose the keys. I wanted to sort the collection based on the values but at the same time maintain the key-value relationship. Is there any way I can get this functionality either by using any collection API or by some other way?
    Thanks and appreciate your help....
    --coolers                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

    I believe that Commons Collections from Jakarta has something like that.
    http://jakarta.apache.org/commons/collections/
    But I'm not sure.

  • How to get the values of form valuess

    Hi All,
    Good Morning,
    i create a page with some form valuesss
    that form values are based on view attributes(vo)
    i did some caluculations and store that values in form value variabless at the time of creating a row in table.
    now i want to open that row in edit mode.
    that time all text fields values are getting and displayed in text fieldss.
    but that record form values are not getting.the form values store the null values.
    how can u get the values of form value variables in the edit mode.
    Thanks

    Hi
    ohh ,ok ,then as u said that u r storing twenty values ,thats y i aksed earlier ,are these form values part of tbale ,or as u said 20 values are there ,for these u r creating 20 form values ???.
    My suggestion would be ,u do four calculation and put all your results in a hashmap ,and keep this hash map in to sesion ,using the following method
    pageContext.putTransactionTransientValue("HashMapName",myHashMap);
    and inside the PFR method when u want to display these values ,u can loop through your hashmap and can display these values.
    like this
    HasMap hm=pageContext.getTransactionTransientValue("HashMapName");
    thanx
    Pratap

  • How to get the values of drop downs, which are gonna create at run time.

    As per my design requirement, I have to create drop downs in an ADF display table.
    The no# of rows of the table are gonna decide the no# of the drop downs. User can select the values from drop downs. My issue is, how can I capture the selected values of those drop downs as those are gonna created run time.

    Hi
    ohh ,ok ,then as u said that u r storing twenty values ,thats y i aksed earlier ,are these form values part of tbale ,or as u said 20 values are there ,for these u r creating 20 form values ???.
    My suggestion would be ,u do four calculation and put all your results in a hashmap ,and keep this hash map in to sesion ,using the following method
    pageContext.putTransactionTransientValue("HashMapName",myHashMap);
    and inside the PFR method when u want to display these values ,u can loop through your hashmap and can display these values.
    like this
    HasMap hm=pageContext.getTransactionTransientValue("HashMapName");
    thanx
    Pratap

  • How to get the values of a selectManyCheckBox when that is in h:dataTable

    Hello,
    I have a jsp page. in that user can choose multile checkboxes and these checkboxes labled as Current, Mailing, PosibleMailing, length is 3 fixed.
    And i am displaying this in a <h:dataTable> this datatable length depends upon the users there may be more than 1 user, for every user there is multiplecheckbox with length 3(fixed).
    code is look like this
    <h:dataTable value="#{InvestigationDefendantView.investDefsFindingsModel}" var="def" border="0" >
    <h:column>
    <h:selectManyCheckbox value="#{InvestigationDefendantView.addtype1}" disabled="false">
    <f:selectItem itemValue="Current" itemLabel="Current"/>
    <f:selectItem itemValue="Mailing" itemLabel="Mailing"/>
    <f:selectItem itemValue="Posible" itemLabel="Posible"/>
    <j4j:idProxy id="DefAddTypeProxy"/>
    </h:selectManyCheckbox>
    </h:column>
    </h:dataTable>
    here abovevalue="#{InvestigationDefendantView.investDefsFindingsModel}" suppose 3(we can assume) then there are 3 pairs of selectManyCheckBoxes are there in my jsp page.
    So u can assume in my jsp page checkboxes are look like 3*3 Matrix
    from my backing bean i am fetching the values of this checkboxes with the below code
    java code:
    InvestDefAddressTypeGetter inv = new InvestDefAddressTypeGetter();
    InvestDefAddressTypeBean[] inb = inv.get(pID);
    this.fMap = new HashMap<String, ArrayList<String>>();
    for(int i=0; i<inb.length; i++)
    String str1 = inb.getGivenDefID().toString();
    this.fdefid.add(str1);
    this.fGivenDefID.add(inb[i].getGivenDefID());
    String addType = inb[i].getAddType();
    Logger.info(this, "adding type value", addType);
    this.fdefid.add(str1);
    this.faddType.add(addType);
    Logger.info(this, "length of strings", this.faddType);
    this.fMap.put(str1, this.faddType);
    i am fetching the checkboxes value through my get method
    public String[] getAddtype1() throws SQLException, SearchException
    Logger.info(this, "addtype testing", this.faddType.size());
    if (this.faddType.size() > 0 )
    ArrayList<String> alcb = new ArrayList<String>();
    for (int i = 0; i < this.faddType.size(); i++)
    alcb.add(this.faddType.get(i));
    String[] tempArr = new String[alcb.size()];
    for (int i = 0; i < alcb.size(); i++)
    tempArr[i] = alcb.get(i).intern();
    return tempArr;
    return new String[0];
    from the above code if i have clicked (you can assume 3*3 matrix here) 1*1, 1*2 and 2*1 and 2*2and saving the value in database records are saved as per requirement but when i am editing the records with the above code i am getting 1*1, 1*2 and 2*1, 2*2 and 3*1, 3*2 checked but i did not checked the 3*1 and 3*2 ckeck boxes.
    Because the same get method will be called in the multipleckeck boxes. how can i prevent does not display the unchecked value from my backing bean.
    Please anybody help me in this issue.

    Is this you? [http://forums.sun.com/thread.jspa?threadID=5335038].

  • How to populate a context node on the basis of the values in another node?

    Hi,
    I have a Webdynpro application which has to run on Portal as well as BlackBerry.
    In this application I have a scenario where I need to have a sub node inside a node but as Blackberry doesn't support sub nodes with Singleton value false, I have to use another node for storing the values which earlier wre present in the sub node.
    The actual scenario here is that we have two tables A & B. For each row of table A we have a no of rows in table B. This can be easily accomplished for Web Browser but we need to do this for Blackberry.
    My question here is that how can i populate the data in table B at runtime using the concept of onLeadSelect. I am not able to fully undersans this concept.
    According to my approach I have two a while loop which generates data for  table A and inside this while loop I have another while which generates data for table B corresponding to each iteration of the outer while loop. I create the node elements for the rows of the table B and store them in a list and then store this list in a HashMap corresponding to a key formed by combining the values of all the elements of the row of table A.
    Now I am not able to understand how can I display this data into table on user slecting a particular row.
    Please guide ASAP.
    It wille quite useful if you can provide me with some code snippets for the same.
    Thanks in advance!
    Manish

    Hi Manish,
             In WebDynpro u can use the onLeadSelect event of table A and do all the processing in that method.Like u can use this method to fill ur context node,which will be the source node for table B. So this way u need not to use any hash map.Fill the source node of table B with data corresponding to ur selected data of table A.
      I hope this solution wud help u in solving ur problem.
    Reena

  • How to put values in a HashMap dynamically using a ArrayList as 'value'

    i have to generate different maps dynamically by passing arraylist (which is also dinamically increasing) in the value.
    i want to use :
    List myList=new ArrayList();
    for(..........){
    Map mymap=new HashMap();
    myMap.put(key, myList.add(objectBean));
    =====================================================================================================
    this line is giving error :
    myMap.put(String , myList.add(objectBean));
    it says myList.add(objectBean) is boolean where as it should be put(String, ObjectBean).

    None of this makes any sense whatsoever. You're creating a new map per loop iteration, you're using an apparently constant key, and you're adding something that's a boolean when you should be adding an ObjectBean (according to you).

  • Is it possible to use the value of a string to reference a component in the

    I'm fairly new to Java so this may be a stupid question!
    Is it possible to use the value of a string to reference a component in the code? For example in the code below, Wall is a class holding 3 different arrays. The Robot class has an array called finishBricks. When the buildWall method is run it receives the integers width and height which are used to construct the dimensions string. I want to use this string to then load the appropriate Wall array into the finishBricks array.
    I hope this makes sense! Any help would be greatly appreciated!
    class Robot {
    public double[][] finishBricks;
    public void buildWall(int width, int height) {
    Wall w = new Wall();
    String dimensions = "Wall" width "x" +height;
    this.finishBricks = w.xxxx; // where xxxx is replaced by whatever the String dimensions is
    class Wall {
         public double[][] Wall4x2 = {
              {-30.00,-01.60,27.45},
              {-30.00,-06.75,27.45},
              {-30.00,-13.55,27.45},
              {-30.00,-20.35,27.45},
              {-30.00,-22.00,28.65},
              {-30.00,-16.85,28.65},
              {-30.00,-10.05,28.65},
              {-30.00,-03.25,28.65}
         public double[][] Wall3x3 = {
              {-30.00,-01.60,27.45},
              {-30.00,-06.75,27.45},
              {-30.00,-13.55,27.45},
              {-30.00,-15.20,28.65},
              {-30.00,-10.05,28.65},
              {-30.00,-03.25,28.65},
              {-30.00,-01.60,29.85},
              {-30.00,-06.75,29.85},
              {-30.00,-13.55,29.85},
         public double[][] Wall2x4 = {
              {-30.00,-01.60,27.45},
              {-30.00,-06.75,27.45},
              {-30.00,-08.40,28.65},
              {-30.00,-03.25,28.65},
              {-30.00,-01.60,29.85},
              {-30.00,-06.75,29.85},
              {-30.00,-08.40,31.05},
              {-30.00,-03.25,31.05},

    Map walls = new HashMap ();
    walls.put ("2x2", new double[][] {
        new double[] {
            1,
            0
        new double[] {
            0,
            1
    double[][] wall = (double[][]) walls.get ("2x2");

Maybe you are looking for

  • Dual Radeon video card -- Second card Unknown/4th monitor

    My initial plan was to use four monitors on my Radeon HD 6790 as follows: 1 Single-link DVI-D = monitor1 dvi 1 Dual-link DVI-I = monitor2 dvi 1 Display Port = monitor3 dvi with adapter 1 HDMI = new monitor This did not work as I could not use the hdm

  • Using Oracle Packages in Oracle BI EE

    I am trying to replicate old Discoverer reports in Oracle BI EE. In the old Discoverer reports, they would include the package and function information in the SELECT statement of the SQL. When I try to import the database information in BI EE, I can

  • Image size locks system

    When I select Image and them image size the cursor changed to a double square and I can't do anything  .... why is that?

  • Passing Video (Binary Data) to a webService

    Hi I have 11g R2 and the webservices are working fine for non binary data. Has anyone used a webservice to receive Video(Binary) data? The SOAP XML definition does NOT handle BLOBs - what types in the oracle procedure are converted to Binary? Regards

  • Install and configure Cisco Network Analysis Module NAM-2

    Hi, Does anyone have a step-by-step document on how to install and configure Cisco NAM-2 module ? Thanks in advance. Regards, Lamine