ספר בישול לאוספי גויאבה
1. הקדמה
מאמר ספר בישול זה מאורגן ב מתכונים קטנים וקטעי קוד לשימוש באוספים בסגנון גויאבה.
הפורמט הוא של רשימה הולכת וגדלה של דוגמאות קוד ללא צורך בהסבר נוסף - הוא נועד לשמור על השימושים הנפוצים ב- API קלים לגישה במהלך הפיתוח.
2. המתכונים
להוריד רשימה לרשימה
– הערה: זהו דרך לעקיפת הבעיה עבור אוספים שאינם מיוצרים משתנים ב- Java אלטרנטיבה פשוטה יותר ללא גויאבה - הכוללת 2 פעולות יצוקה הוספת איטרציה לאוסף בדוק אם האוסף מכיל אלמנטים על פי כלל התאמה מותאם אישית פתרון חלופי באמצעות חיפוש פיתרון חלופי החל רק על סטים NoSuchElementException עַל Iterables.find כששום דבר לא נמצא - זה יזרוק ה NoSuchElementException יוצא מן הכלל: – פִּתָרוֹן: יש עומס יתר למצוא שיטה זה לוקח את ערך ההחזרה המוגדר כברירת מחדל כארגומנט וניתן להתקשר אליו עם ריק להתנהגות הרצויה: הסר את כל ערכי ה- null מאוסף ליצור ישירות רשימה / סט / מפה בלתי ניתנים לשינוי ליצור רשימה / סט / מפה בלתי ניתנים לשינוי מאוסף סטנדרטי פתרון חלופי באמצעות בונים גויאבה היא ספרייה מקיפה ושימושית להפליא - הנה כמה ממשקי API נוספים המכוסים בצורה של ספר בישול: תהנה. כפי שציינתי בהתחלה, אני מתנסה בזה פורמט אחר - ספר הבישול - לנסות לאסוף משימות נפוצות פשוטות של שימוש באוספי גויאבה במקום אחד. המוקד של פורמט זה הוא פשטות ומהירות, כך שלרוב המתכונים יש אין הסבר נוסף מלבד דוגמת הקוד עצמה. לבסוף - אני מסתכל על זה כ מסמך חי - אני אמשיך להוסיף מתכונים ודוגמאות כשאני נתקל בהם. אל תהסס לספק עוד הערות ואחפש לשלב אותם בספר הבישול. יישום כל הדוגמאות וקטעי הקוד ניתן למצוא באתר GitHub - זהו פרויקט מבוסס Maven, כך שיהיה קל לייבא ולהפעיל אותו כפי שהוא.מחלקה CastFunction מיישמת את הפונקציה {@ החל מהגמר הציבורי הסופי T (סופי F מ) {החזרה (T) מ; }} רשימת originalList = Lists.newArrayList (); רשימת theList = Lists.transform (originalList, CastFunction חדש ());
רשימת originalList = Lists.newArrayList (); רשימת theList = (רשימה) (רשימה) originalList;
Iter Iterable = Lists.newArrayList (); אספן אוספים = Lists.newArrayList (); Iterables.addAll (אספן, איטר);
ICable TheCollection = Lists.newArrayList ("a", "bc", "def"); בוליאני מכיל = Iterables.any (theCollection, Predicate חדש) {@Override ציבור בוליאני חל (קלט מחרוזת סופי) {return input.length () == 1;}}); assertTrue (מכיל);
ICableableCollection = Sets.newHashSet ("a", "bc", "def"); בוליאני מכיל = Iterables.find (theCollection, Predicate חדש) {@Override ציבור בוליאני חל (קלט מחרוזת סופי) {return input.length () == 1;}})! = null; assertTrue (מכיל);
הגדר את theCollection = Sets.newHashSet ("a", "bc", "def"); בוליאני מכיל =! Sets.filter (theCollection, Predicate חדש) {@Override ציבור בוליאני להחיל (קלט מחרוזת סופי) {return input.length () == 1;}}). isEmpty (); assertTrue (מכיל);
ICableableCollection = Sets.newHashSet ("abcd", "efgh", "ijkl"); Predicate inputOfLengthOne = Predicate new () {@ Override בוליאני ציבורי החל (קלט מחרוזת סופי) {return input.length () == 1; }}; מחרוזת נמצאה = Iterables.find (theCollection, inputOfLengthOne);
java.util.NoSuchElementException ב com.google.common.collect.AbstractIterator.next (AbstractIterator.java:154) ב com.google.common.collect.Iterators.find (Iterators.java:712) ב com.google.common. collect.Iterables.find (Iterables.java:643)
מחרוזת נמצאה = Iterables.find (theCollection, inputOfLengthOne, null);
ערכי רשימה = Lists.newArrayList ("a", null, "b", "c"); Iterable withoutNulls = Iterables.filter (ערכים, Predicates.notNull ());
ImmutableList immutableList = ImmutableList.of ("a", "b", "c"); ImmutableSet immutableSet = ImmutableSet.of ("a", "b", "c"); ImmutableMap imuttableMap = ImmutableMap.of ("k1", "v1", "k2", "v2", "k3", "v3");
List muttableList = Lists.newArrayList (); ImmutableList immutableList = ImmutableList.copyOf (muttableList); Set muttableSet = Sets.newHashSet (); ImmutableSet immutableSet = ImmutableSet.copyOf (muttableSet); Map muttableMap = Maps.newHashMap (); ImmutableMap imuttableMap = ImmutableMap.copyOf (muttableMap);
List muttableList = Lists.newArrayList (); ImmutableList immutableList = ImmutableList. בונה (). addAll (muttableList) .build (); Set muttableSet = Sets.newHashSet (); ImmutableSet immutableSet = ImmutableSet. בונה (). addAll (muttableSet) .build (); Map muttableMap = Maps.newHashMap (); ImmutableMap imuttableMap = ImmutableMap. בונה (). putAll (muttableMap) .build ();
3. ספרי בישול נוספים של גויאבה
ספר בישול להזמנת גויאבה
ספר בישול פונקציונלי של גויאבה
4. הולך קדימה