Как в программе вызывается метод компаратора, если я не вызываю его явно в программе? [дубликат] ⇐ JAVA
Как в программе вызывается метод компаратора, если я не вызываю его явно в программе? [дубликат]
Предположим, я хочу отсортировать коллекцию. Поэтому я использую этот код
import java.util.List; импортировать java.util.ArrayList; импортировать java.util.Collections; общественный класс Sort3 { public static void main(String[] args) { List list=new ArrayList(); list.add(новое время2(6,24,34)); list.add(новое время2(18,14,58)); list.add(новое время2(6,5,34)); list.add(новое время2(12,14,58)); list.add(новое время2(6,24,22)); System.out.printf("Несортированные элементы массива:%n%s%n",list); Collections.sort(list,new TimeComparator()); System.out.printf("Отсортированные элементы списка:%n%s%n",list); } } класс Время2 { частный внутренний час; частная минута; частный int второй; общедоступное время2() { это(0,0,0); } публичное время2 (целое число часов) { это(час,0,0); } public Time2 (целое число часов, целое число минут) { это(час,минута,0); } public Time2(int час, int минута, int секунда) { если(час23) throw new IllegalArgumentException("Час должен быть между 0 и 23."); иначе, если(минута59) throw new IllegalArgumentException("Минуты должны быть в диапазоне от 0 до 59."); иначе, если (секунда59) throw new IllegalArgumentException("Секунда должна быть от 0 до 59"); this.hour=час; эта.минута=минута; this.секунда = секунда; } общедоступное время2 (время времени2) { это(время.час, время.минута,время.секунда); } public void setHour(int час) { если(час23) throw new IllegalArgumentException("Час должен быть между 0 и 23"); this.hour=час; } public void setMinute (целая минута) { если(минута59) throw new IllegalArgumentException("Минута должна быть от 0 до 59"); эта.минута=минута; } public void setSecond (второе целое число) { если(секунда59) throw new IllegalArgumentException("Секунда должна быть от 0 до 59"); this.секунда = секунда; } public void setTime(int час,int минута,int секунда) { если(час23) throw new IllegalArgumentException("Час должен быть между 0 и 23."); иначе, если(минута59) throw new IllegalArgumentException("Минуты должны быть в диапазоне от 0 до 59."); иначе, если (секунда59) throw new IllegalArgumentException("Секунда должна быть от 0 до 59"); this.hour=час; эта.минута=минута; this.секунда = секунда; } public int getHour() {час возврата;} public int getMinute(){минута возврата;} public int getSecond() {вернуть секунду;} публичная строка toUniverslaString() { return String.format("%02d:%02d:%02d",getHour(), getMinute(), getSecond()); } публичная строка toString() { return String.format("%d:%02d:%02d %s",(hour==0||hour==12?12:hour%12), getMinute(),getSecond(),(час
Предположим, я хочу отсортировать коллекцию. Поэтому я использую этот код
import java.util.List; импортировать java.util.ArrayList; импортировать java.util.Collections; общественный класс Sort3 { public static void main(String[] args) { List list=new ArrayList(); list.add(новое время2(6,24,34)); list.add(новое время2(18,14,58)); list.add(новое время2(6,5,34)); list.add(новое время2(12,14,58)); list.add(новое время2(6,24,22)); System.out.printf("Несортированные элементы массива:%n%s%n",list); Collections.sort(list,new TimeComparator()); System.out.printf("Отсортированные элементы списка:%n%s%n",list); } } класс Время2 { частный внутренний час; частная минута; частный int второй; общедоступное время2() { это(0,0,0); } публичное время2 (целое число часов) { это(час,0,0); } public Time2 (целое число часов, целое число минут) { это(час,минута,0); } public Time2(int час, int минута, int секунда) { если(час23) throw new IllegalArgumentException("Час должен быть между 0 и 23."); иначе, если(минута59) throw new IllegalArgumentException("Минуты должны быть в диапазоне от 0 до 59."); иначе, если (секунда59) throw new IllegalArgumentException("Секунда должна быть от 0 до 59"); this.hour=час; эта.минута=минута; this.секунда = секунда; } общедоступное время2 (время времени2) { это(время.час, время.минута,время.секунда); } public void setHour(int час) { если(час23) throw new IllegalArgumentException("Час должен быть между 0 и 23"); this.hour=час; } public void setMinute (целая минута) { если(минута59) throw new IllegalArgumentException("Минута должна быть от 0 до 59"); эта.минута=минута; } public void setSecond (второе целое число) { если(секунда59) throw new IllegalArgumentException("Секунда должна быть от 0 до 59"); this.секунда = секунда; } public void setTime(int час,int минута,int секунда) { если(час23) throw new IllegalArgumentException("Час должен быть между 0 и 23."); иначе, если(минута59) throw new IllegalArgumentException("Минуты должны быть в диапазоне от 0 до 59."); иначе, если (секунда59) throw new IllegalArgumentException("Секунда должна быть от 0 до 59"); this.hour=час; эта.минута=минута; this.секунда = секунда; } public int getHour() {час возврата;} public int getMinute(){минута возврата;} public int getSecond() {вернуть секунду;} публичная строка toUniverslaString() { return String.format("%02d:%02d:%02d",getHour(), getMinute(), getSecond()); } публичная строка toString() { return String.format("%d:%02d:%02d %s",(hour==0||hour==12?12:hour%12), getMinute(),getSecond(),(час
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение