سلام استاد وقت بخیر
استاد بعد از اینکه کالکشن ساخته شد از طریق of تو جاو 9 ، بخوایم تبدیل کنیم مثلا به linkedHashSet میتونیم به طریقهای زیر این کارو انجام بدیم حالا هم بکمک استریمها یا به عنوان پارامتر بیایم به کنستراکتور اون تایپ پاس بدیم:
inal Set<Integer> integers = Set.of(1, 2, 3); //first way final Set<Integer> integerHashSet = new LinkedHashSet<>(integers); //second way final Set<Integer> lists = integers.stream().collect(Collectors.toCollection(LinkedHashSet::new));
ولی استاد یک مشکلی هست اینا ترتیب رو نگه نمیدارن و فقط تبدیل به اون تایپ میکنن اگه بخوایم ترتیب المان هایی که وارد کردیم حفظ بشه باید چیکار کرد؟
2- وقتی کالکشن رو ما تبدیل میکنیم به تایپ خاص فک کنم دیگه immutable نباشن کالکشنهای ما، باید بصورت دستی immutable کنیم کالکشن هارو دوباره ؟
3- از طریق استریمها هم میشه عناصر رو immutable کرد ؟
Collections.unmodifiableCollection(collection);