Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
 Аватар для oleska-feska
0 / 0 / 0
Регистрация: 11.02.2014
Сообщений: 22

Создание коллекции работников

20.08.2015, 22:27. Показов 3373. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго дня.
Извиняюсь сразу за возможную примитивность данного вопроса.
Гуглила, гуглила, читала разные книги, и запуталась еще больше. ..
________________________________________ ____________________
Допустим, необходимо создать коллекцию с информацией о рабочих: id, имя / фамилия и зарплата. Какую из коллекций лучше использовать и как это вообще реализуется? Писала собственный класс Еmployees, код прикреплю ниже. В правильном ли направлении я двигаюсь? Поняла, что нужно использовать generics для создания такой коллекции и запуталась еще больше. Буду благодарна, кто поможет разобраться с данным вопросом.
п.с. класс Employees написан также через велосипеды, жду критики, как лучше переписать класс. Java учу не так давно, поэтому практики написания красивого и читабельного кода не имею ..
п.п.с. нужно ли вообще писать сеттеры, если я буду вводить данные о рабочих с клавиатуры, или писать хардкодом?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public class Employees{
    private int id;
    private String Fname=null;
    private double salary;
    
    int getId() {
        return id;
    }
    void setId(int id1) {
        id=id1;
    }
    String getName() {
        return Fname;
    }
    void setName(String name) {
        Fname=name;
    }
    double getSalary() {
        return salary;
    }
    void setSalary(double salary1) {
        salary=salary1;
    }
 Employees(int id2, String name1, double salary2 ) {
     id=id2;
     Fname=name1;
     salary=salary2;
     
 }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.08.2015, 22:27
Ответы с готовыми решениями:

Создание коллекции
Хочу создать коллекцию на основе массива: public class MyCollection<T> { T col = new T; } Пишет "Cannot create a generic...

Создание класса-коллекции
Всем добрый день! Есть у меня класс, который хранит информацию. Сейчас класс может хранить только одну матрицу, но каким образом его...

Создание таблиц Работников
Доброго времени суток. Моя таблица такова, но что то мне не нравится. Может подстажите более верный вариант

5
65 / 64 / 15
Регистрация: 15.12.2013
Сообщений: 166
20.08.2015, 23:02
oleska-feska, коллекция будет выглядеть так
Java
1
2
3
    ArrayList<Employees> employees = new ArrayList<Employees>(); //инициализация
    employees.add(new Employees(1, "name",1000)); //добавления объекта в коллекцию
        System.out.println(employees.get(0)); //извлечение объекта по индексу
Цитата Сообщение от oleska-feska Посмотреть сообщение
п.п.с. нужно ли вообще писать сеттеры, если я буду вводить данные о рабочих с клавиатуры, или писать хардкодом?
если вы хотите следовать парадигме ООП, то нужно писать сеттеры/геттеры, доступ к переменным напрямую нарушает правило инкапсуляции.
В целом, класс адекватный.
1
 Аватар для oleska-feska
0 / 0 / 0
Регистрация: 11.02.2014
Сообщений: 22
21.08.2015, 00:06  [ТС]
Простите за мою настойчивость, но не могли бы вы подсказать, как эти данные из коллекции записать в файл? Или хотя бы вывести в консоль.Вот такая строчка возвращает хеш-код "Employees@19cdd63c"
Java
1
   System.out.println(employees.get(1));
0
65 / 64 / 15
Регистрация: 15.12.2013
Сообщений: 166
21.08.2015, 00:13
oleska-feska, виноват, employees.get(1) возвращает объект Employees
Java
1
employees.get(1).getName();
вернет имя работника.
1
636 / 528 / 165
Регистрация: 01.04.2010
Сообщений: 1,843
21.08.2015, 06:36
Цитата Сообщение от Эрнесто Посмотреть сообщение
В целом, класс адекватный.
Нифига. В данном случае класс должен быть назван в единственном числе. Конструктор класса, get/set-методы должны быть публичными. Либо убери public в объявлении самого класса.

Цитата Сообщение от oleska-feska Посмотреть сообщение
Вот такая строчка возвращает хеш-код "Employees@19cdd63c"
Чтобы при распечатке объекта видеть нечто другое, нужно в классе переопределить метод toString()
0
7 / 7 / 2
Регистрация: 08.08.2013
Сообщений: 30
21.08.2015, 09:59
Цитата Сообщение от oleska-feska Посмотреть сообщение
Java
1
2
3
4
5
Employees(int id2, String name1, double salary2 ) {
   id=id2;
   Fname=name1;
   salary=salary2;
}
Обычно пишут так:
Java
1
2
3
4
5
public Employees(int id, String name, double salary ) {
    this.id=id;
    Fname=name;
    this.salary=salary;
}
Как уже говорили выше название класса в единственном числе, т.е Employee
Название переменных должно начинаться с маленькой буквы, т.е вместо Fname firstname или firstName например
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.08.2015, 09:59
Помогаю со студенческими работами здесь

Получение новой коллекции путем фильтрации элементов коллекции находящихся в другой коллекции
Всем привет, нуждаюсь в помощи знатоков) Имеется вот такая иерархия если представить в JSON: { teachers: ...

Выбрать работников, у которых средняя зарплата за 2 года больше средней зарплаты всех работников
Ввести сведения о работниках предприятия (фамилию, год пос¬тупления на работу, среднюю зарплату за последние 2 года). Среди них выбрать...

Создание интранет портала на Joomla для работников компании
Здравствуйте, хочу создать интранет сеть для 40-50 работников с доступом только из локальной сети. Joomla 3.4.3 -&gt; Устанавлена на...

Создание коллекции
Уважаемые форумчане, помогите, ПЛИЗ. Не знаю вообще возможно такое или нет, но моих знаний точно в этой области конкретно не достаточно. ...

Создание коллекции объектов
List&lt;object&gt; Argo = new List&lt;object&gt;(); Argo.Add(SendKeys.Send(&quot;{TAB}&quot;)); Ошибка 2 Аргумент &quot;1&quot;: преобразование типа из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru