🆔 @javapro_ir
🆔 @group_javapro
22 Oct, 21:21
22 Oct, 21:10
22 Oct, 21:06
22 Oct, 21:05
22 Oct, 20:57
22 Oct, 15:57
22 Oct, 07:40
22 Oct, 06:50
22 Oct, 06:09
21 Oct, 16:00
List<String> bigList = new ArrayList<>();
for (int i = 0; i < 100000; i++) {
bigList.add(new String("Sample data" + i));
}
// بعد از اتمام پردازش نیازی به bigList نیست، اما حذف نمیشود.
bigList.clear();
21 Oct, 07:39
19 Oct, 17:09
HashMap
در جاوا 🌟HashMap
یک نوع داده کلید-مقدار (Key-Value) است که برای ذخیره و مدیریت مجموعهای از دادهها به کار میرود. گاهی اوقات نیاز داریم که تمام عناصر موجود در HashMap
را پیمایش کنیم. در این پیام آموزشی، به بررسی روشهای مختلف پیمایش در HashMap
میپردازیم:keySet()
استفاده میکنیم. این متد مجموعهای از کلیدها را بازمیگرداند.
HashMap<String, Integer> map = new HashMap<>();
map.put("Apple", 100);
map.put("Banana", 200);
// پیمایش کلیدها
for (String key : map.keySet()) {
System.out.println("Key: " + key);
}
values()
استفاده میکنیم که لیستی از مقادیر را بازمیگرداند.
// پیمایش مقادیر
for (Integer value : map.values()) {
System.out.println("Value: " + value);
}
entrySet()
استفاده میکنیم که مجموعهای از Map.Entry
ها را بازمیگرداند.
// پیمایش کلید و مقدار
for (Map.Entry<String, Integer> entry : map.entrySet()) {
System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
}
Iterator
🔄Iterator
نیز میتوان برای پیمایش HashMap
استفاده کرد.
Iterator<Map.Entry<String, Integer>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, Integer> entry = iterator.next();
System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
}
forEach
و Lambda
در جاوا 8 و بالاتر 🚀forEach
و توابع لامبدا برای پیمایش سادهتر استفاده میشود.
map.forEach((key, value) -> {
System.out.println("Key: " + key + ", Value: " + value);
});
HashMap
به طور پیشفرض ترتیب خاصی ندارد و کلیدها و مقادیر ممکن است به صورت تصادفی ذخیره شوند.forEach
باعث میشود کد شما تمیزتر و خواناتر باشد، به ویژه در نسخههای جدید جاوا.HashMap
دسترسی پیدا کرده و آنها را پیمایش کنید. 💻17 Oct, 15:56
public
داریم که از هر کجا قابل دسترسی است، چه در داخل کلاس باشد و چه در پکیجهای دیگر.
// کلاس اصلی در پکیج animals
package animals;
public class Animal {
public String name = "Lion"; // قابل دسترس از هر جا
public void sound() {
System.out.println("Roar!");
}
}
// کلاس دیگر در پکیج human
package human;
import animals.Animal;
public class Main {
public static void main(String[] args) {
Animal animal = new Animal();
System.out.println(animal.name); // "Lion"
animal.sound(); // "Roar!"
}
}
public
همچنان قابل دسترسی هستند.private
داریم. این اعضا فقط درون همان کلاس قابل استفاده هستند و حتی کلاسهای دیگری که در همان پکیج هستند هم نمیتوانند به آنها دسترسی داشته باشند.
// کلاس اصلی در پکیج animals
package animals;
public class Animal {
private String name = "Lion"; // فقط در این کلاس قابل دسترسی
private void sound() {
System.out.println("Roar!");
}
public void showName() {
System.out.println("Animal's name is " + name); // دسترسی به متغیر private
}
}
// کلاس دیگر در همان پکیج
package animals;
public class Main {
public static void main(String[] args) {
Animal animal = new Animal();
// System.out.println(animal.name); // ارور: name قابل دسترسی نیست
animal.showName(); // قابل دسترسی از متد عمومی
}
}
private
اعضای کلاس را مخفی میکند و فقط درون خود کلاس قابل استفاده است.protected
استفاده میکنیم که در پکیجهای مختلف، تنها برای کلاسهایی که از این کلاس ارثبری (inheritance) کردهاند قابل دسترسی است.
// کلاس اصلی در پکیج animals
package animals;
public class Animal {
protected String name = "Lion"; // محافظتشده: در فرزندان در دسترس
protected void sound() {
System.out.println("Roar!");
}
}
// کلاس فرزند در پکیج different
package different;
import animals.Animal;
public class Lion extends Animal {
public void printDetails() {
System.out.println("Lion's name: " + name); // دسترسی به name از کلاس والد
sound(); // دسترسی به متد sound از کلاس والد
}
}
public class Main {
public static void main(String[] args) {
Lion lion = new Lion();
lion.printDetails(); // "Lion's name: Lion" و "Roar!"
}
}
protected
برای کلاسهای فرزند قابل استفاده است، حتی اگر در پکیجهای مختلف قرار داشته باشند.private
کنید تا از دسترسیهای ناخواسته جلوگیری شود!15 Oct, 22:48
public class MyClass {
public int myNumber = 10;
public void printMessage() {
System.out.println("Hello, World!");
}
}
public class MyClass {
private int myNumber = 10;
private void printMessage() {
System.out.println("Hello, World!");
}
}
public class MyClass {
public static int myStaticNumber = 5;
public static void printStaticMessage() {
System.out.println("This is a static method.");
}
}
public class Main {
public static void main(String[] args) {
System.out.println(MyClass.myStaticNumber); // دسترسی به متغیر استاتیک
MyClass.printStaticMessage(); // دسترسی به متد استاتیک
}
}
13 Oct, 14:10
public void printMessage() {
System.out.println("Hello, World!");
}
public void greetUser(String name) {
System.out.println("Hello, " + name);
}
public int getNumber() {
return 5;
}
public int sum(int a, int b) {
return a + b;
}
int
, void
, String
و غیره)، نام تابع و سپس پارامترها (در صورت نیاز) را مشخص کنید. پس از آن کدهای مربوط به انجام وظیفه درون بدنه تابع نوشته میشوند.
public class Main {
public static void main(String[] args) {
int result = sum(5, 3);
System.out.println("The result is: " + result);
}
public static int sum(int a, int b) {
return a + b;
}
}
sum
دو عدد را به عنوان ورودی دریافت کرده و حاصلجمع آنها را به برنامه بازمیگرداند.public
یا private
(دسترسی) و static
(در صورت نیاز به استفاده بدون ایجاد شیء) میتواند به کار رود.