Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.03.2010, 18:49   #1
jona
Новичок
Джуниор
 
Регистрация: 29.03.2010
Сообщений: 3
По умолчанию ArrayList

Помогите решить задание,пожалуйста.
Есть алгоритм сортировки для сортировки массивов.
Нужно его переделать для того,чтобы он работал с элементами ArrayList.
Здесь оригинал
Код:
public int maximum(int[] a)  {
			int n = a.length;
			int max = a[0];
			for (int i = 1;i < n;i++)
			  if (a[i] > max)
			    max = a[i];
			return max;    
		}
а вот здесь для ArrayList

Код:
	public  int maximum(ArrayList<Integer>  a)  {
		    int n=a.size();
			int max = a.get(0);
			for (int i = 1;i < n;i++){
			int m = a.get(1);
			if (a.get(i) > max)
			max = removeRange(max,m);
		   	  return max;    
		  }
		  
		}
Но здесь ошибка при вызове функции removeRange.
cannot find symbol - method removeRange(int,int)
что я не так делаю ?
jona вне форума Ответить с цитированием
Старый 29.03.2010, 22:29   #2
Olejik
Форумчанин
 
Регистрация: 02.06.2009
Сообщений: 218
По умолчанию

а вообще есть такой метод removeRange?
знаю есть такой метод - remove, он удаляет
да и кажись нужно писать так если не ошибаюсь:
Код:
max = a.removeRange(max,m);

Последний раз редактировалось Olejik; 29.03.2010 в 22:35.
Olejik вне форума Ответить с цитированием
Старый 30.03.2010, 10:03   #3
alexinspir
Новичок
Джуниор
 
Аватар для alexinspir
 
Регистрация: 26.08.2008
Сообщений: 1,010
По умолчанию

Правильный способ 1:
Те элементы, которые вы помещаете в ArrayList должны подходящим образом реализовывать интерфейс Comparable и тогда сортировка производится посредством Collections.sort(List);

Правильный способ 2:
Реализовать интерфейс Comparator и передавать его вместе с ArrayList в Collections.sort(List,Comparator).
ромик0: Cколько получают здешние модераторы?
pu4koff: У модераторов сдельная оплата труда. Выдал предупреждение - плюс к премии. Выдал бан - лучший модератор месяца со всеми вытекающими.
alexinspir вне форума Ответить с цитированием
Старый 30.03.2010, 12:40   #4
jona
Новичок
Джуниор
 
Регистрация: 29.03.2010
Сообщений: 3
По умолчанию

Цитата:
Те элементы, которые вы помещаете в ArrayList должны подходящим образом реализовывать интерфейс Comparable
Спасибо большое вам,
но как это сделать ? Я только начала учить,много еще не знаю
jona вне форума Ответить с цитированием
Старый 30.03.2010, 12:52   #5
jona
Новичок
Джуниор
 
Регистрация: 29.03.2010
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Olejik Посмотреть сообщение
а вообще есть такой метод removeRange?
знаю есть такой метод - remove, он удаляет
да и кажись нужно писать так если не ошибаюсь:
Код:
max = a.removeRange(max,m);

Да,есть такой метод .Тут нашла
http://java.sun.com/j2se/1.4.2/docs/...ArrayList.html

Последний раз редактировалось alexinspir; 30.03.2010 в 13:33. Причина: invalid link
jona вне форума Ответить с цитированием
Старый 30.03.2010, 13:37   #6
alexinspir
Новичок
Джуниор
 
Аватар для alexinspir
 
Регистрация: 26.08.2008
Сообщений: 1,010
По умолчанию

Цитата:
Сообщение от jona Посмотреть сообщение
но как это сделать ? Я только начала учить,много еще не знаю
Учитесь, и поймете
я все описал так, что любой программист middle-уровня и выше, меня прекрасно поймет.
к сожалению, объяснять Junior'ам я не умею - мне никто не объяснял, я все осваивал сам, и поэтому не представляю как можно кратко объяснить всю необходимую информацию.
ромик0: Cколько получают здешние модераторы?
pu4koff: У модераторов сдельная оплата труда. Выдал предупреждение - плюс к премии. Выдал бан - лучший модератор месяца со всеми вытекающими.
alexinspir вне форума Ответить с цитированием
Старый 30.03.2010, 18:13   #7
alexinspir
Новичок
Джуниор
 
Аватар для alexinspir
 
Регистрация: 26.08.2008
Сообщений: 1,010
По умолчанию

Цитата:
Сообщение от jona Посмотреть сообщение
Да,есть такой метод .Тут нашла
http://java.sun.com/j2se/1.4.2/docs/...ArrayList.html
А вас не смущает что он объявлен как protected(package/heir-private)?

поясню причину своего удивления:
Если метод private, package-private или же protected, то это подразумевает, что метод предназначен для использования только внутри той библиотеки.
т.е. по скольку разработчики решили сделать его protected, то на то есть свои причины. у меня такие причины это: "определенный порядок вызовов методов, определенные условия вызова метода и т.д.".
ромик0: Cколько получают здешние модераторы?
pu4koff: У модераторов сдельная оплата труда. Выдал предупреждение - плюс к премии. Выдал бан - лучший модератор месяца со всеми вытекающими.
alexinspir вне форума Ответить с цитированием
Старый 30.04.2010, 13:45   #8
javalove
 
Регистрация: 08.02.2010
Сообщений: 7
По умолчанию

Цитата:
Сообщение от jona Посмотреть сообщение
Помогите решить задание,пожалуйста.
Есть алгоритм сортировки для сортировки массивов.
Нужно его переделать для того,чтобы он работал с элементами ArrayList.
Здесь оригинал
Код:
public int maximum(int[] a)  {
			int n = a.length;
			int max = a[0];
			for (int i = 1;i < n;i++)
			  if (a[i] > max)
			    max = a[i];
			return max;    
		}
а вот здесь для ArrayList

Код:
	public  int maximum(ArrayList<Integer>  a)  {
		    int n=a.size();
			int max = a.get(0);
			for (int i = 1;i < n;i++){
			int m = a.get(1);
			if (a.get(i) > max)
			max = removeRange(max,m);
		   	  return max;    
		  }
		  
		}
Но здесь ошибка при вызове функции removeRange.
cannot find symbol - method removeRange(int,int)
что я не так делаю ?
Код первой программы не сортирует массив, а находит в нем элемент с наибольшим значением. А это не называется сортировкой.
javalove вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема С ArrayList в C# , ОЧЕНЬ надо Алексей Равен Помощь студентам 1 24.04.2009 21:25