日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java abstractset 继_java集合框架-AbstractSet

發布時間:2023/12/15 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java abstractset 继_java集合框架-AbstractSet 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

抽象set繼承了抽象集合,只是額外重寫了equal和hashCode方法 抽象set是set接口的擴展 public abstract class AbstractSet extends AbstractCollection implements Set { ? ? protected AbstractSet() { ? ? } 兩個set是否相等的比較方式,先比較引用是否相同,否則繼續比較大小是否一致,繼而對兩個集合中每個元素進行一一比較是否相等 ? ? public boolean equals(Object o) { ? ? ? ? if (o == this) ? ? ? ? ? ? return true; ? ? ? ? if (!(o instanceof Set)) ? ? ? ? ? ? return false; ? ? ? ? Collection c = (Collection) o; ? ? ? ? if (c.size() != size()) ? ? ? ? ? ? return false; ? ? ? ? try { ? ? ? ? ? ? return containsAll(c); ? ? ? ? } catch (ClassCastException unused)? ?{ ? ? ? ? ? ? return false; ? ? ? ? } catch (NullPointerException unused) { ? ? ? ? ? ? return false; ? ? ? ? } ? ? } 所有繼承了這個抽象set的類的hashCode計算方法: 是對set中每個元素的hashcode值進行累加 ? ? public int hashCode() { ? ? ? ? int h = 0; ? ? ? ? Iterator i = iterator(); ? ? ? ? while (i.hasNext()) { ? ? ? ? ? ? E obj = i.next(); ? ? ? ? ? ? if (obj != null) ? ? ? ? ? ? ? ? h += obj.hashCode(); ? ? ? ? } ? ? ? ? return h; ? ? } 如果當前的set大小大于傳入進來的set,那么用傳進來的參數作為遍歷因子在當前set中移除 否則以當前set的大小作為遍歷因子去做移除操作 也就是說,誰的大小比較小,就以誰為遍歷因子去另一個set中移除操作 ? ? public boolean removeAll(Collection> c) { ? ? ? ? boolean modified = false; ? ? ? ? if (size() > c.size()) { ? ? ? ? ? ? for (Iterator> i = c.iterator(); i.hasNext(); ) ? ? ? ? ? ? ? ? modified |= remove(i.next()); ? ? ? ? } else { ? ? ? ? ? ? for (Iterator> i = iterator(); i.hasNext(); ) { ? ? ? ? ? ? ? ? if (c.contains(i.next())) { ? ? ? ? ? ? ? ? ? ? i.remove(); ? ? ? ? ? ? ? ? ? ? modified = true; ? ? ? ? ? ? ? ? } ? ? ? ? ? ? } ? ? ? ? } ? ? ? ? return modified; ? ? } }

總結

以上是生活随笔為你收集整理的java abstractset 继_java集合框架-AbstractSet的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。