สามวิธีในการแปลงอาร์เรย์เป็นรายการ
ที่มา: Rrtutors นักพัฒนา Java มักจะต้องแปลงอาร์เรย์เป็นรายการ โดยเฉพาะอย่างยิ่งเมื่อทำงานกับรายการองค์ประกอบ ในโพสต์นี้ คุณจะได้เรียนรู้สามวิธีในการแปลงอาร์เรย์เป็นรายการใน Java
สามวิธีในการแปลงอาร์เรย์เป็นรายการ
คุณสามารถใช้สามวิธีในการแปลงอาร์เรย์เป็นรายการ:- สร้างรายการว่างและเพิ่มองค์ประกอบ
- ใช้ เมธอด Arrays.asList( )
- การใช้ 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: การใช้ 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]
วิธีเขียนตัวตรวจสอบ Palindrome ใน Java
ที่มา: DZone ในบทความนี้ คุณจะได้เรียนรู้สองวิธีในการเขียนโปรแกรมตรวจสอบ palindrome ใน Java
พาลินโดรมมีหน้าตาเป็นอย่างไร?
เมื่อตัวอักษรหรือตัวเลขถูกจัดเรียงให้เป็นรูปสะท้อนของกันและกัน มันจะสร้างพาลินโดรมขึ้นมา ในบรรดาตัวอย่างมากมายของพาลินโดรม ได้แก่ 686, 140041, 95359, 7007, เรดาร์, กระท่อม, คุณปู่ และอื่นๆ นั่นคือถ้าคุณอ่านตัวอักษรย้อนหลัง จะเห็นได้ชัดว่าตัวอักษรเหล่านั้นสร้างภาพสะท้อนของกันและกัน ด้วยตัวดำเนินการส่วนที่เหลือและการหารใน Java เราสามารถสร้างโค้ดที่ตรวจสอบว่าตัวเลขใดเป็นพาลินโดรมหรือไม่ขั้นตอนการสร้างโปรแกรมตรวจสอบพาลินโดรมตัวเลข
- เราป้อนหรือเริ่มต้นหมายเลขที่จะตรวจสอบ
- เราสร้างตัวแปรชั่วคราวและเก็บตัวเลขไว้
- ลองกลับจำนวนกัน
- เราเปรียบเทียบจำนวนชั่วคราวกับจำนวนผกผัน
- หากตัวเลขทั้งสองเท่ากัน แสดงว่าเป็นพาลินโดรม
โปรแกรม Java Palindrome โดยใช้ FOR loop
ด้านล่างนี้เป็นโปรแกรมใช้งานง่ายที่ใช้ For Loop เพื่อค้นหาพาลินโดรม ในการวนซ้ำตัวเลขในอินพุตจะถูกตรวจสอบซ้ำๆ จนกระทั่งค่าอินพุตเป็น 0 การวนซ้ำของ for จะพิจารณาโมดูลัสของตัวเลข (num) ซึ่งจัดเก็บไว้ในตัวแปรที่เรียกว่า ReverseNum สำหรับการวนซ้ำแต่ละครั้งของลูป เป็นผลให้เราสามารถได้อินพุตที่ตรงกันข้าม/ย้อนกลับโดยสมบูรณ์ จากนั้นนำตัวเลขที่พลิกไปเปรียบเทียบกับตัวเลขเดิมเพื่อดูว่าเป็นพาลินโดรมหรือไม่ นี่คือตัวอย่างที่ช่วยให้คุณตรวจสอบว่าหมายเลขที่กำลังทดสอบเป็นพาลินโดรมหรือไม่อัลกอริธึมการทำงานของโปรแกรม
- จุดเริ่มต้นของโปรแกรม
- ยอมรับการป้อนข้อมูลของผู้ใช้หรือเริ่มต้นด้วยตนเอง (ตัวเลข)
- สร้างตัวแปรใหม่ ( 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 ไม่ใช่พาลินโดรม
โปรแกรม Palindrome ใน Java โดยใช้ While Loop
เมื่อเข้าใจตรรกะของโค้ดแล้ว ตอนนี้เรามาดูวิธีอื่นในการเขียนโปรแกรมพาลินโดรมใน Java โดยใช้การวนซ้ำในขณะที่ ในการวนซ้ำในขณะที่ ตัวเลขในอินพุตจะถูกตรวจสอบซ้ำๆ จนกระทั่งค่าอินพุตเป็น 0 การวนซ้ำ while จะพิจารณาโมดูลัสของตัวเลข (num) ซึ่งจัดเก็บไว้ในตัวแปรที่เรียกว่า ReverseNum สำหรับการวนซ้ำแต่ละครั้งของลูป สุดท้าย จำนวนกลับหัวจะถูกเปรียบเทียบกับหมายเลขเดิมเพื่อดูว่าเป็นพาลินโดรมหรือไม่ นี่คือตัวอย่างที่ให้คุณตรวจสอบว่าอินพุตเป็นตัวเลขพาลินโดรมหรือไม่อัลกอริธึมการทำงานของโปรแกรม
- จุดเริ่มต้นของโปรแกรม
- ยอมรับการป้อนข้อมูลของผู้ใช้หรือเริ่มต้นด้วยตนเอง (ตัวเลข)
- สร้างตัวแปรใหม่ ( 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