JavaSE—集合框架

2020-12-05 凱哥學堂

聲明:本欄目所使用的素材都是凱哥學堂VIP學員所寫,學員有權匿名,對文章有最終解釋權;凱哥學堂旨在促進VIP學員互相學習的基礎上公開筆記。

集合框架:

System.arraycopy:1.數組對象2.從第幾個下表開始拷貝3.接受的數組對象4.從第幾個下表開始存放5.要拷貝多長

使用System.arraycopy();拷貝方法,拷貝數組的參數,提高代碼的執行效率。

改善集合每次new對象問題,不要每次傳進參數都要new對象,所以我們在第一次創建對象數組時長度就為5,如果本次只傳4-5個數據的話那就不需要重新new數組。然後創建一個屬性index=0,然後objs[index++]=value;後加加,第一個值等於傳進來的val;問一下現在的數組長度是否能存儲當前值,不能存儲的話就重新new一個數組,長度是原來數組的1.75倍,新數組創建完成後就拷貝老數組的數據,從老數組的第0個下表,拷貝給新數組,新數組的第0個放,老數組有多長就拷貝多長,拷貝完成後覆蓋老數組,讓屬性指向新數組。然後objs[index++]=val;賦值。

get:用下表得到存放的數據,給一個下表判斷是否大於等於index(存儲下標後加加),大於就說明下標越界了。size:數組存放數據的長度。反饋出去。

數組的刪除:數組的刪除就是覆蓋。比如我們申請一個數組,數組裡面有「A」,「B」,「C」「D」,「E」,「F」,「G」。假設我們要刪除下標為3裡面的數據,就猶如把「E」,「F」,「G」,複製一份粘貼在從 下標3開始的數組內。刪除最後一個就直接數組長度減減。

判斷下標是否越界,是越界的話直接拋出越界異常。下標沒越界的情況下詢問它是不是要刪除最後一個,是刪除最後一個把該下標等於空。數組長度是7的話,減減後就是6,也就是數組對應的下標6,應為數組下標從0開始。(因為java在沒有內存地址指向引用的情況下才會回收內存)刪除第一個的話,就是用System.arrycopy();老數組從下標第i+1個開始拷貝,拷貝給當前自己數組第i個(要刪除的位置),拷貝長度是老數組長度減去-i-1的長度。

測試:移除第一個。

縮存儲容器:請問當前objs.length/index>=3,符合的話就新申請一個數組,數組長度是來數組的2分之一,然後將老數組的第0個開始拷貝給新數組的0個,老數組有多長就放多長。(長度能被3整除刪除一半的數組長度)

相關焦點

  • Java程式設計師集合框架面試題
    Java集合框架是最常被問到的Java面試問題
  • Java集合框架——面試必備
    Java集合框架面試題常見集合集合可以看作是一種容器,用來存儲對象信息。數組和集合的區別:(1)數組長度不可變化而且無法保存具有映射關係的數據;集合類用於保存數量不確定的數據,以及保存具有映射關係的數據。(2)數組元素既可以是基本類型的值,也可以是對象;集合只能保存對象。Java集合類主要由兩個接口Collection和Map。
  • Java基礎-今日內容介紹(collection、map集合框架、可變參數
    今天我們對集合框架進行一下總結,首先看一下集合框架的結構Java集合框架Collection知識點: Collection接口中的方法、是集合中所有實現類必須擁有的方法。比如:1.boolean remove(Object o)移除集合中指定的元素。
  • java第八章:集合框架
    1.ArrayList1.1ArrayList類概述【理解】什麼是集合提供一種存儲空間可變的存儲模型,存儲的數據容量可以發生改變ArrayList集合的特點底層是數組實現的,長度可以變化泛型的使用用於約束集合中存儲元素的數據類型1.2ArrayList類常用方法【
  • 華為移動服務核心(HMS Core)是雲服務和框架的集合,為HMS應用程式...
    華為移動服務核心(HMS Core)是雲服務和框架的集合,為HMS應用程式提供支持。昨天晚上整個華為發布後讓我最有興趣的消息應該是華為HMS的正式宣布出海,因為這很有可能成為華為的一個重要轉折點,甚至是國內安卓生態的重要節點。
  • 細說unittest單元測試框架
    一、單元測試框架說明 單元測試是指在編程中,針對程序模塊的最小單元(類中的方法)進行正確性檢驗的測試工作。python+selenium自動化測試中通常使用unittest或者pytest作為單元測試框架。
  • 框架把外延劃分子類,組織子類下的假設,形成假設樹,然後剪枝!
    MECE有啥用呢,比如一個結論,你尋找解決這個結論的原因,這些原因要採取一個框架來組織,而這個框架呢,其實是一個分類框架。這個分類框架要符合MECE,這些原因被分類框架組織成一棵有序的原因之樹,結論-符合MECE的分類框架-各個原因-原因之樹!MECE的意思就是相互獨立,完全窮盡,什麼理解相互獨立呢?
  • java基礎教程:Collection集合,Collection 常用API
    集合概述在前面基礎班我們已經學習過並使用過集合ArrayList<E> ,那麼集合到底是什麼呢?集合:集合是java中提供的一種容器,可以用來存儲多個數據。集合和數組既然都是容器,它們有什麼區別呢?數組的長度是固定的。集合的長度是可變的。
  • springMVC框架之Controller組件
    好的各位小夥伴今天繼續來分享springMVC框架今天咱們來一起認識 springMVC 框架的 Controller,咱們之前也說了springMVC 給我們提供了很多的組件,其中需要我們程式設計師來寫的就有controller
  • 高中數學:全體集合!學習集合——集合的運算
    前兩篇介紹了集合的基礎定義、集合之間的關係,本篇主要介紹集合的運算。集合的運算包括交集、併集和補集。一、交集與併集定義3.1 集合A和集合B的交集是指由所有屬於A且屬於B的元素組成的集合,記作A∩B,A∩B={x∈A且x∈B}。
  • Java經典面試題Spring是什麼 Spring框架入門詳解
    到目前為止Sping框架就搭建完畢了。我之前講解MyBatis框架的SqlSession就是由SqlSesionFactory創建的。接下來我們看一下spring另一個特性,DI依賴注入是什麼。上面Java代碼中的username,userage都是由我手動設置的,但是這樣實在太過於麻煩,於是Spring提供了為對象屬性注入的功能。
  • 神一般的Scrapy框架,Python中Scrap的基本結構和去重原理
    Scrapy吸引人的地方在於它是一個框架,任何人都可以根據需求方便的修改。它也提供了多種類型爬蟲的基類,如BaseSpider、sitemap爬蟲等,最新版本又提供了web2.0爬蟲的支持.二、Scrapy五大基本構成:Scrapy框架主要由五大組件組成,它們分別是調度器(Scheduler)、下載器(Downloader)、爬蟲(Spider)和實體管道(Item Pipeline)、Scrapy引擎(Scrapy Engine)。下面我們分別介紹各個組件的作用。
  • 持久層框架 DataNucleus AccessPlatform 3.3.5 發布
    DataNucleus Access Platform 3.3.5 發布,此版本支持 WHERE 子句中使用 JPA "TREAT" ,默認支持在 fetchPlan 的候選查詢中添加批量獲取欄位集合功能
  • 數據分析的三大框架:底層技術、分析建模、工具選擇
    在搭建知識大廈之前,先需要建立知識的框架,然後才能高效的填充知識。所以今天我們先建立框架。數據分析的三大框架數據科學的框架分為三部分:底層技術框架/數據分析框架/工具選擇框架,接下來依次給大家介紹:1.
  • 17 款常用響應式 web UI 框架 - OSCHINA - 中文開源技術交流社區
    它是一個CSS和HTML的集合,它使用了最新的瀏覽器技術,給你的Web開發提供了時尚的版式,表單,buttons,表格,網格系統等等。 官方網站: http://twitter.github.com/bootstrap/ github: https://github.com/twitter/bootstrap
  • 《戲說集合》合集
    戲說集合(一)集合與元素集合:把同類事物聚攏在一起構成一個整體。元素:構成集合的事物。集合與元素只有兩個關係:要么元素∈集合,要么元素集合。可以通過將所有元素列舉出來表示集合:{元素1, 元素2, 元素3, ...}。要能構成集合,元素必須明確、元素必須互異、元素無須排序。空集是沒有元素的集合,是個「空箱子」。
  • 1334 以集合為元素的集合,有沒有研究的價值
    看題~       以上兩個題目的考點      (1)元素與集合的關係:屬於、不屬於,      (2)集合與集合的關係:含於、真含於、不含於;      難點      常見的元素與集合、集合與集合的關係是,屬於僅存於元素與集合之間,含於存於集合與集合之間;以上兩題的集合,其元素就是集合
  • 用戶增長框架的搭建拆解
    編輯導語:用戶運營最重要的一個環節就是用戶增長,有足夠的用戶才能保證後續運營起來的順利,用戶增長有很多種方式,選用最符合的進行操作;本文作者分享了關於用戶增長框架的搭建拆解,我們一起來看一下。用戶增長框架,是用戶運營的第一步;依靠增長框架獲取用戶,才能有後續用戶運營的環節,形成健康的用戶運營體系,促使業務向前發展。那麼如何搭建用戶增長框架呢?
  • 集合與時間的特性?
    我們知道,在數學集合中,有二個特殊的集合,一個是什么元素也沒有的空集,一個是只有一個元素「0」的集合。在客觀時間概念中,也有二個特殊的時間概念。一是在絕對零度時,物質就會絕對靜止不動的,而按照辯證唯物主義的觀點,一切物質都是運動的,絕對靜止的物質是不存在的,所以,物質是達不到絕對零度的,在絕對零度時,物質就失去了存在的前提了,物質是根本不存在的,而物質不存在了,描繪物質變化的時間當然也就不存在了,這種情況就如同數學集合中的空集。