配列をリストに変換する 3 つの方法
出典: Rrtutor Java 開発者は、特に要素のリストを扱う場合に、配列をリストに変換する必要があることがよくあります。この記事では、Java で配列をリストに変換する 3 つの方法を学びます。配列をリストに変換する 3 つの方法
配列をリストに変換するには、次の 3 つの方法を使用できます。- 空のリストを作成し、要素を追加します。
- Arrays.asList()メソッドを使用します。
- new ArrayList<>(Arrays.asList(arr))を使用します。
方法 1: 空のリストを作成して要素を追加する
この方法は 3 つの方法の中で最も単純であり、ほとんどの開発者はそれが非常に簡単で明白であると考えています。これを使用するには、次の 3 つの簡単な手順に従う必要があります。- ステップ 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 が提供する組み込みメソッドであるArrays.asList(arr)を使用して、配列をリストに変換します。このメソッドがどのように実装されるかの例を見てみましょう。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 で回文チェック プログラムを作成する 2 つの方法を学習します。 Java の面接では、回文をチェックするプログラムを書くように求められる場合があります。これは難しい質問の 1 つですが、面接ではよく聞かれます。回文は、双方向で同じように読める数字、単語、または文字列です。逆に、その反対は非回文です。回文はどのように見えますか?
文字や数字が互いに鏡像を形成するように配置すると、回文が作成されます。回文の例としては、686、140041、95359、7007、レーダー、小屋、祖父などがあります。つまり、文字を逆から読むと、それらが互いに鏡像を形成していることが明らかになります。Java の剰余演算子と除算演算子を使用すると、特定の数値が回文であるかどうかをチェックするコードを作成できます。数値回文をチェックするプログラムの作成段階
- 確認する番号を入力または初期化します。
- 一時変数を作成し、そこに数値を保存します。
- 数字を反転してみましょう。
- 一時的な数と逆数を比較します。
- 両方の数値が等しい場合、それは回文です。
FOR ループを使用した Java 回文プログラム
以下は、For ループを使用して回文を見つける使いやすいプログラムです。for ループでは、入力値が 0 になるまで、入力内の数字が繰り返しチェックされます。for ループでは、ループの反復ごとにreverseNum という変数に格納される数値 (num) の絶対値が考慮されます。その結果、入力の完全な逆/逆を得ることができます。次に、反転された数値が元の数値と比較され、回文かどうかが判断されます。以下は、テストされている数値が回文であるかどうかを確認できる例です。プログラム動作アルゴリズム
- プログラムの開始。
- ユーザー入力を受け入れるか、手動で初期化します (数値)。
- 新しい変数 ( initialNum ) を作成し、入力を保存します。
- num がゼロになるまで、num の余りを見つけて変数 ( reverseNum ) に格納します。
- InitialNum がreverseNum と一致するかどうかを判断します。
- 両方の数値が等しい場合、これは回文であると結論付けられます。
- それ以外の場合は回文ではありません。
- プログラムの終了。
コードスニペット:
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
数値を入力してください: 45354 はい、指定された数値 45354 は回文です。
結論 2
数字を入力してください: 61214 いいえ、与えられた数字 61214 は回文ではありません。
While ループを使用した Java の回文プログラム
コードのロジックを理解したら、Java で回文プログラムを作成する別の方法、つまり while ループを使用する方法を見てみましょう。while ループでは、入力値が 0 になるまで、入力の数字が繰り返しチェックされます。while ループでは、ループの反復ごとに reverseNum という変数に格納される数値 (num) の絶対値が考慮されます。最後に、反転した数値を元の数値と比較して、回文かどうかを判断します。以下は、入力が回文数値であるかどうかを確認できる例です。プログラム動作アルゴリズム
- プログラムの開始。
- ユーザー入力を受け入れるか、手動で初期化します (数値)。
- 新しい変数 ( initialNum ) を作成し、入力を保存します。
- num がゼロになるまで、num の余りを見つけて変数 ( reverseNum ) に格納します。
- InitialNum がreverseNumに等しいかどうかを判断します。
- 両方が等しい場合、それは回文であると推定されます。
- それ以外の場合は回文ではありません。
- プログラムの終了。
コードスニペット
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
数字を入力してください: 98989 はい、与えられた数字 98989 は回文です。
結論 2
番号を入力してください: 3624251 いいえ、指定された番号 3624251 は回文ではありません。
GO TO FULL VERSION