Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как вытащить первый элемент из LinkedHashMap 
:(
    Опции темы
freshAngel
  Дата 7.12.2009, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 248
Регистрация: 1.10.2008

Репутация: нет
Всего: нет



Привет.
Есть LinkedHashMap()
Код

LinkedHashMap myMap = new LinkedHashMap();
myMap.put("123","321");
myMap.put("456","654");
myMap.put("789","987");


Как вытащить первое значение независимо от ключа!?

Мне нужно сделать функцию, что - бы значения LinkedHashMap() были такими:
Код

String s = "";
s = "321|654|987";


Сейчас у меня ArrayList(), для него функция есть и работает, а вот как с LinkedHashMap() непонятно.
 smile 
PM MAIL   Вверх
goodday1941
Дата 7.12.2009, 18:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 709
Регистрация: 16.7.2006
Где: Украина, Киев

Репутация: 1
Всего: 9



никак, кроме как в цикл запустить и после первого єлемента брейк сделать

вот есть вариант с Commons Collections


--------------------
SCJP 6
PM MAIL ICQ Skype GTalk   Вверх
LSD
Дата 7.12.2009, 20:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Код

    LinkedHashMap<String, String> myMap = new LinkedHashMap<String, String>();
    myMap.put("123", "321");
    myMap.put("456", "654");
    myMap.put("789", "987");
    for(Map.Entry<String, String> entry : myMap.entrySet())
    {
      System.out.println(entry.getKey() + " => " + entry.getValue());
    }



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
freshAngel
  Дата 7.12.2009, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 248
Регистрация: 1.10.2008

Репутация: нет
Всего: нет



Код

LinkedHashMap ip = new LinkedHashMap();

ip.put("123","321");      
ip.put("456","654");      
ip.put("789","987");


Set set = ip.entrySet();
Iterator i = set.iterator();

    while(i.hasNext()) {
        Map.Entry me = (Map.Entry)i.next();
        s = s + me.getKey()+"|";
        System.out.println(me.getValue());
    }




Не понятно почему выдается три раза:

123 | 321
456 | 654
789 | 987
123 | 321
456 | 654
789 | 987
123 | 321
456 | 654
789 | 987

Мне нужен только один проход по коллекции!


Это сообщение отредактировал(а) freshAngel - 7.12.2009, 20:47
PM MAIL   Вверх
LSD
Дата 7.12.2009, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Что за arr?


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
freshAngel
  Дата 7.12.2009, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 248
Регистрация: 1.10.2008

Репутация: нет
Всего: нет



Цитата(LSD @ 7.12.2009,  20:43)
Что за arr?

Исправил на ip.
Уважаемый LSD у Вас тоже несколько проходов по коллекции.
Почему так!? А не один проход!?
PM MAIL   Вверх
LSD
Дата 7.12.2009, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Цитата(freshAngel @  7.12.2009,  20:47 Найти цитируемый пост)
Уважаемый LSD у Вас тоже несколько проходов по коллекции.
Почему так!? А не один проход!? 

У меня проход один, ошибка где-то в другом месте. Скомпилируй и запусти этот класс:
Код

import java.util.*;

public class Test
{
  public static void main(String[] args) throws Exception
  {
    LinkedHashMap<String, String> myMap = new LinkedHashMap<String, String>();
    myMap.put("123", "321");
    myMap.put("456", "654");
    myMap.put("789", "987");
    for(Map.Entry<String, String> entry : myMap.entrySet())
    {
      System.out.println(entry.getKey() + " => " + entry.getValue());
    }
  }
}



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
serghd
Дата 7.12.2009, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 5.10.2009

Репутация: нет
Всего: нет



Цитата(LSD @ 7.12.2009,  20:59)
Код

import java.util.*;

public class Test
{
  public static void main(String[] args) throws Exception
  {
    LinkedHashMap<String, String> myMap = new LinkedHashMap<String, String>();
    myMap.put("123", "321");
    myMap.put("456", "654");
    myMap.put("789", "987");
    for(Map.Entry<String, String> entry : myMap.entrySet())
    {
      System.out.println(entry.getKey() + " => " + entry.getValue());
    }
  }
}

Объясните пжлст, зачем при LinkedHashMap используются <String, String> и зачем тут "for(Map.Entry<String, String> entry : myMap.entrySet())" двоеточие. Как это можно записать по-другому? Первый раз вижу такого рода запись, поэтому интересен такой метод.

Это сообщение отредактировал(а) serghd - 7.12.2009, 21:56
PM MAIL   Вверх
freshAngel
  Дата 7.12.2009, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 248
Регистрация: 1.10.2008

Репутация: нет
Всего: нет



serghd, <String, String> - это тип данных ключа и значения соответственно.
                        for(Map.Entry<String, String> entry : myMap.entrySet()) - пока есть записи входящие в набор записей entrySet делать цикл.
PM MAIL   Вверх
serghd
Дата 8.12.2009, 00:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 5.10.2009

Репутация: нет
Всего: нет



Цитата(freshAngel @ 7.12.2009,  22:27)
serghd, <String, String> - это тип данных ключа и значения соответственно.
                        for(Map.Entry<String, String> entry : myMap.entrySet()) - пока есть записи входящие в набор записей entrySet делать цикл.

Да, но я не спрашивал что этот код делает, это и так понятно, а имел ввиду можно ли это записать как-то по-другому? Т.е. без указания <String, String> и использования ":". 
Впрочем офтоп, да и с опытом разберусь)

Это сообщение отредактировал(а) serghd - 8.12.2009, 00:12
PM MAIL   Вверх
LSD
Дата 8.12.2009, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Цитата(serghd @  7.12.2009,  21:52 Найти цитируемый пост)
Объясните пжлст, зачем при LinkedHashMap используются <String, String> и зачем тут "for(Map.Entry<String, String> entry : myMap.entrySet())" двоеточие. Как это можно записать по-другому? Первый раз вижу такого рода запись, поэтому интересен такой метод.

FAQ


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
serghd
Дата 9.12.2009, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 5.10.2009

Репутация: нет
Всего: нет



LSD, пасиб, то что надо! А то ж и думаю - после прочтения руководства по java2 такой код всё равно выглядел незнакомо)

Это сообщение отредактировал(а) serghd - 9.12.2009, 12:33
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0555 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.