JavaRush /Java блог /Random /Кофе-брейк #164. Три способа преобразования массива в спи...

Кофе-брейк #164. Три способа преобразования массива в список. Как написать программу для проверки палиндромов на Java

Статья из группы Random

Три способа преобразования массива в список

Источник: Rrtutors Java-разработчикам часто приходится преобразовывать массивы в списки, особенно при работе со списками элементов. В этом посте вы узнаете сразу три способа преобразования массива в список в Java. Кофе-брейк #164. Три способа преобразования массива в список. Как написать программу для проверки палиндромов на Java - 1

Три способа преобразовать массива в список

Вы можете использовать три способа для преобразования массива в список:
  1. Создание пустого списка и добавление элементов.
  2. Использование метода Arrays.asList().
  3. Использование new ArrayList<>(Arrays.asList(arr)).

Способ 1: создание пустого списка и последующее добавление элементов

Этот метод является самым простым из трех, и большинство разработчиков считают его очень тривиальным и очевидным. Чтобы использовать его, вам нужно выполнить три простых шага:
  • Шаг 1: Прежде всего, создайте пустой список.
  • Шаг 2: Затем выполните итерацию по массиву элементов.
  • Шаг 3: Наконец, добавьте эти элементы в свой список.
Давайте посмотрим, как эти три шага реализованы на практике. В представленном ниже примере мы собираемся создать пустой список и добавить элементы.

import java.util.ArrayList;

import java.util.List;

public class Create_List_add_arrays {

            public static void main(String[] args) {

                        String[] OurArray = new String[] { "123", "456", "789" };

        List<String> ourList = new ArrayList<>();

        for (int i=0; i<OurArray.length; i++){

            ourList.add(OurArray[i]);

        }

        System.out.println (ourList);

            }

}
Вывод:
[123, 456, 789]

Способ 2: использование метода Arrays.asList()

Здесь мы будем использовать Arrays.asList (arr) — встроенный метод, предоставляемый Arrays для преобразования массива в список. Давайте посмотрим на пример того, как реализован этот метод:

package Using_Arrays;

import java.util.Arrays;

import java.util.List;

public class using_method {

            public static void main(String[] args) {

                        String[] OurArray = new String[] { "100", "200", "300" };

                    List<String> OurList = Arrays.asList(OurArray);

                    System.out.println(OurList);

 

            }

}
Вывод:
[100, 200, 300]
Этот метод работает, создавая список фиксированного размера, что означает, что вы не сможете добавить в него больше элементов.

Способ 3: использование new ArrayList<>(Arrays.asList(arr))

Здесь мы просто используем new arrayList<>(Arrays.asList(integers)); чтобы преобразовать наш массив в список. Основное преимущество этого способа перед предыдущим заключается в том, что созданный массив позволяет пользователю добавлять в список больше элементов. Давайте посмотрим на пример кода:

import java.util.ArrayList;

import java.util.Arrays;

import java.util.List;

public class ArrayList_methods {

            public static void main(String[] args) {

                        String[] ourArray = new String[] { "100", "200", "300" };

        List<String> ourList = new ArrayList<>(Arrays.asList(ourArray));

        System.out.println("Our Array: " + ourList);

        ourList.add("400");

        System.out.println("We add a new element: " + ourList );

            }

}
Вывод:
Наш массив: [100, 200, 300] Добавляем новый элемент: [100, 200, 300, 400]

Как написать программу для проверки палиндромов на Java

Источник: DZone Из этой статьи вы узнаете два способа написания на Java программы для проверки палиндромов. Кофе-брейк #164. Три способа преобразования массива в список. Как написать программу для проверки палиндромов на Java - 2Во время собеседования по Java вас могут попросить написать программу для проверки палиндромов. Это один из сложных вопросов, но достаточно распространенный во время интервью. Палиндромы — это числа, слова или строки, которые одинаково читаются в обоих направлениях. В свою очередь их противоположностью являются непалиндромы.

Как выглядят палиндромы?

Когда буквы или числа расположены так, что они образуют зеркальные отражения друг друга, это создает палиндром. Среди множества примеров палиндромов можно назвать 686, 140041, 95359, 7007, радар, шалаш, дед и так далее. То есть, если прочитать буквы задом наперед, то становится очевидно, что они образуют зеркальные отражения друг друга. С операторами остатка и деления в Java мы можем создать код, который проверяет, является ли конкретное число палиндромом или нет.

Этапы создания программы для проверки числовых палиндромов

  1. Вводим или инициализируем число, подлежащее проверке.
  2. Создаем временную переменную и сохраняем в ней число.
  3. Инвертируем число.
  4. Сравниваем временное число с обратным числом.
  5. Если оба числа равны, значит это палиндром.

Программа-палиндром на Java с использованием цикла FOR

Ниже приведена простая в использовании программа, которая использует For Loop для поиска палиндрома. В цикле for цифры во входных данных многократно проверяются до тех пор, пока входное значение не станет равным 0. В цикле for учитывается модуль числа (num), который сохраняется в переменной, вызываемой reverseNum для каждой итерации цикла. В результате мы можем получить полную противоположность/реверс ввода. Затем перевернутое число сравнивается с исходным числом, чтобы определить, является ли оно палиндромом. Вот пример, который позволяет вам проверить, является ли проверяемое число палиндромом.

Алгоритм работы программы

  1. Старт программы.
  2. Прием пользовательского ввода или инициализация его вручную (число).
  3. Создание новой переменной (initialNum) и сохранение ввода.
  4. Пока num не станет равным нулю, находим остаток от num и сохраняем его в переменной (reverseNum).
  5. Определяем, соответствует ли initialNum числу reverseNum.
  6. Если оба числа равны, выводим что это палиндром.
  7. В ином случае это не палиндром.
  8. Завершение работы программы.

Фрагмент кода:


import java.util.*;
class Main 
{
  public static void main(String[] args) 
    {
        Scanner sc= new Scanner(System.in);
        System.out.print("Enter the number: ");
        int num= sc.nextInt();

        int reverseNum=0, initialNum, remainder=0; 
        initialNum = num;
        for(;num!=0;num/=10)
        {
            remainder= num % 10;
            reverseNum = (reverseNum * 10) + remainder;
        }

        if (initialNum == reverseNum)
        {
            System.out.println("Yes, the given number " + initialNum + " is a palindrome.");
        }

        else
        {
           System.out.println("No, the given number " + initialNum + " is not a palindrome.");
        }
    }
}

Вывод 1

Enter the number: 45354 Yes, the given number 45354 is a palindrome.

Вывод 2

Enter the number: 61214 No, the given number 61214 is not a palindrome.

Программа-палиндром на Java с использованием цикла while

Поняв логику кода, давайте теперь рассмотрим другой способ написания программы-палиндрома на Java — с использованием цикла while. В цикле while цифры во входных данных многократно проверяются до тех пор, пока входное значение не станет равным 0. В цикле while учитывается модуль числа (num), который сохраняется в переменной, называемой reverseNum для каждой итерации цикла. Наконец, перевернутое число сравнивается с исходным числом, чтобы определить, является ли оно палиндромом. Вот пример, который позволяет вам проверить, является ли ввод числом-палиндромом.

Алгоритм работы программы

  1. Старт программы.
  2. Прием пользовательского ввода или инициализация его вручную (число).
  3. Создаем новую переменную (initialNum) и сохраняем ввод.
  4. Пока num не станет равным нулю, находим остаток от num и сохраняем его в переменной (reverseNum).
  5. Определяем, равно ли initialNum числу reverseNum.
  6. Если оба равны, выводим, что это палиндром.
  7. В ином случае это не палиндром.
  8. Конец работы программы.

Фрагмент кода


import java.util.*;
class Main 
{
    public static void main(String[] args) 
    {
        Scanner sc= new Scanner(System.in);
        System.out.print("Enter the number: ");
        int num= sc.nextInt();
        int reverseNum=0, initialNum, remainder; 
        initialNum = num;
        while(num!=0)
        {
            remainder= num % 10;
            reverseNum = (reverseNum * 10) + remainder;
            num = num / 10;
        }

        if (initialNum == reverseNum)
        {
            System.out.println("Yes, the given number " + initialNum + " is a palindrome.");
        }
        else
        {
           System.out.println("No, the given number " + initialNum + " is not a palindrome.");
        }
  }
}

Вывод 1

Enter the number: 98989 Yes, the given number 98989 is a palindrome.

Вывод 2

Enter the number: 3624251 No, the given number 3624251 is not a palindrome.

Заключение

Благодаря этой публикации вы узнали, что такое палиндром и как писать код для проверки палиндромов на Java.
Комментарии (1)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
fog Уровень 18
5 октября 2022
Более простой способ проверки полиндромной строки, хотя по скорости работы и проигрывающий специализированным реализациям на основе циклов, следующий:
  1. Создать копию строки без пробелов.
  2. Зареверсить её и сравнить с незареверсеной копией, без учёта регистра.