集合,Collection接口

可動態保存任意多個對象,使用比較方便

提供了一系列方便操作對象的方法:add,remove,set,get等

使用集合添加刪除新元素,代碼簡潔明了

單列集合

多列集合?

?Collection接口

常用方法

List list= new ArrayList();  //向上轉型//增list.add("jack");list.add(10);list.add(true);//刪list.remove(true);  //刪除指定元素list.remove(0);  //刪除第1個元素//查看元素是否存在list.contains("jack");//元素個數list.size();//是否為空list.isEmpty();//清空list.clear();//加多個元素ArrayList list1 = new ArrayList();list.addAll(list1);//containsAll查看多個元素是否存在//removeAll刪除等多個元素list.removeAll(list1);

Iterator

1.Iterator對象又稱為迭代器,主要用于遍歷Collection集合中的元素

2.所有實現了Collection接口的集合類都有一個iterator()方法,用于返回一個實現了iterator接口的對象,即返回一個迭代器

3.Iterator的結構

4.僅用于遍歷集合,本身并不存放對象

接口方法:hasNext()? next()? remove()? ??

調用Iterator.next()方法之前必須調用iterator.hasNext()進行檢測,若不調用,且下一條記錄無效,直接調用it.Next()會拋出NoSuchElementException異常

增強for循環

for (Object book : col){System.out.println(book);}

底層仍是迭代器?

快捷鍵 I

練習

1.創建3個Dog{name,age}對象,放入到ArrayList中,賦給List引用

2.用迭代器和增強for循環兩種方式來遍歷

3.重寫Dog的toString方法,輸出name和age

 @SuppressWarnings({"all"})List list = new ArrayList();list.add(new Dog("A",1));list.add(new Dog("B",2));list.add(new Dog("C",3));//增強for循環  遍歷for (Object dog :list) {System.out.println(dog);}//使用迭代器Iterator iterator= list.iterator();while (iterator.hasNext()) {Object next =  iterator.next();System.out.println(dog);}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/37950.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/37950.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/37950.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

設計模式詳解(一)——策略模式

策略模式(Strategy Pattern)是一種行為型的設計模式,它允許你定義一系列算法,然后將它們封裝起來,使它們可以相互替換。這樣做的好處是,你可以動態地選擇要使用的算法,而不必在運行時進行檢查或…

多媒體基礎

筆者按: 昨日復習的信息網絡安全約莫是掛了,常言道:知恥而后勇。誠如斯言 于是決心多媒體是不能再掛了,不然直接變成xxx之流,自增笑耳 語雀鏈接:多媒體基礎 一.多媒體計算機概述 媒體:承載信息…

動手學深度學習(Pytorch版)代碼實踐 -卷積神經網絡-21多輸入多輸出通道

21多輸入多輸出通道 import torch from d2l import torch as d2ldef corr2d(X, K):"""計算二維互相關運算"""h, w K.shapeY torch.zeros((X.shape[0] - h 1, X.shape[1] - w 1))for i in range(Y.shape[0]):for j in range(Y.shape[1]):Y[i,…

go語言DAY7 字典Map 指針 結構體 函數

Go中Map底層原理剖析_go map底層實現-CSDN博客 目錄 Map 鍵值對key,value 注意: map唯一確定的key值通過哈希運算得出哈希值 一、 map的聲明及初始化: 二、 map的增刪改查操作: 三、 map的賦值操作與切片對比: 四、 通用所有…

[leetcode hot 150]第一百二十二題,買賣股票的最佳時機Ⅱ

題目: 給你一個整數數組 prices ,其中 prices[i] 表示某支股票第 i 天的價格。 在每一天,你可以決定是否購買和/或出售股票。你在任何時候 最多 只能持有 一股 股票。你也可以先購買,然后在 同一天 出售。 返回 你能獲得的 最大…

【C++】初識C++(一)

一.什么是C C語言是結構化和模塊化的語言,適合處理較小規模的程序。對于復雜的問題,規模較大的程序,需要高度 的抽象和建模時,C語言則不合適。為了解決軟件危機, 20世紀80年代, 計算機界提出了OOP(object o…

圖形處理單元(GPU)在現代計算中的應用與挑戰(研究論文框架)

摘要:隨著高性能計算需求的日益增長,圖形處理單元(GPU)已從專業的圖形渲染處理器轉變為具有高性能并行處理能力的多功能計算平臺。本文將探討GPU的核心優勢、編程模型、在不同領域的應用以及面臨的挑戰和限制。此外,還將討論GPU技術的未來發展趨勢和潛在的研究機會。 關鍵…

mongodb 查詢語句學習筆記

基礎查詢 正則查詢 {status: A,$or: [{ qty: { $lt: 30 } }, { item: { $regex: ^p } }] }AND 查詢 { "size.h": { $lt: 15 }, "size.uom": "in", status: "D" }OR 查詢 { $or: [ { status: "A" }, { qty: { $lt: 30 } …

2024年機動車簽字授權人題庫,助你沖刺!絕對不會讓你后悔!

61.()使汽車按駕駛人選定的方向行駛。 A.傳動系統 B.行駛系統 C.轉向系統 D.制動系統 答案:C 62.()使汽車各總成及部件安裝在適當的位置,對全車起支承作用以保證汽車正常行駛。 A.傳動系統 B.行駛系…

01.計算機圖形學概述

01.計算機圖形學概述 從技術的角度上看,什么是一個好的畫面? 直接看這個畫面是不是足夠亮,這體現了渲染中的一個技術叫全局光照。 應用范圍 游戲( Video Games)電影/特效( Movies)動漫/動畫&…

如何讓Linux系統變得更安全?

本文嘗試從linux安全加固、漏洞利用及防御措施、安全意識三個方面思考如何讓linux系統變得更加安全. 一、linux常見安全加固操作 對Linux系統進行詳細的安全加固操作,可以從多個方面進行,包括系統更新和補丁管理、用戶和權限管理、網絡安全配置、文件和系統安全、日志和審計…

Qt代碼分析

要使用代碼分析工具,請在Analyze菜單或(Start Debugging of Startup Project)按鈕的下拉菜單中選擇它。當您處于調試模式時,您可以通過在調試器工具欄上的菜單中選擇工具來切換工具。 您可以將調試模式下的視圖拖放到屏幕上的新位置。意見的大小和立場將…

c++關鍵字default,delete

文章目錄 概述defaultdelete 小結 概述 在看一些開源項目的源碼的時候,經常會看到default和delete。這2個關鍵字究竟什么意思呢?這篇文章就來一點一點拆解下。 default 默認構造函數、拷貝構造函數、移動構造函數、拷貝賦值運算符、移動賦值運算符和析…

HDFS學習

3.5 HDFS存儲原理 3.5.1 冗余數據保存 作為一個分布式文件系統,為了保證系統的容錯性和可用性,HDFS采用了多副本方式對數據進行冗余存儲,通常一個數據塊的多個副本會被分布到不同的數據節點上。 如圖所示,數據塊1被分別存放到…

石油化工廠為什么要用專業防爆手機?

防爆手機之所以必須使用專業設計的產品,主要是出于安全考慮,以防止在易燃易爆環境中因手機使用不當引發爆炸事故。以下幾點詳細解釋了使用專業化工防爆手機的必要性: 本質安全設計:頂堅專業防爆手機采用了本質安全(本安…

動手學深度學習(Pytorch版)代碼實踐 -計算機視覺-47轉置卷積

47轉置卷積 import torch from torch import nn from d2l import torch as d2l# 輸入矩陣X和卷積核矩陣K實現基本的轉置卷積運算 def trans_conv(X, K):h, w K.shapeY torch.zeros((X.shape[0] h - 1, X.shape[1] w - 1))for i in range(X.shape[0]):for j in range(X.shap…

昇思25天學習打卡營第5天|數據變換Transforms

數據變換Transforms 介紹Transforms分類Common TransformsVision TransformsText TransformsPythonTokenizer LookupLambda Transforms 參考 介紹 MindSpore提供不同種類的數據變換(Transforms),配合數據處理Pipeline來實現數據預處理。 所有…

【ROS】apt 找不到 ROS版本?(ROS1和ROS2通用方案)

問題描述 安裝ROS底層系統時,經常遇到一個情況就是apt找不到ros的對應版本 解決方案 添加ros官方給的apt源和安裝密鑰 ROS1 # ros獎項 sudo sh -c echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.li…

數學建模 —— MATLAB中的向量

目錄 向量的創建方法 (1)直接輸入法 (2)冒號法(常用) (3)利用MATLAB函數創建 linspace函數 logspace函數 向量元素的引用 (1)單個元素引用 (2)多個元素引用 向量元素的修改和刪除 向量的創建方法 在 MATLAB中,向量的創建方法主要有…

微軟Edge瀏覽器多用戶配置文件管理:個性化瀏覽體驗

在家庭或工作環境中,經常需要在同一臺計算機上為多個用戶創建和管理獨立的瀏覽體驗。微軟Edge瀏覽器提供了多用戶配置文件管理功能,允許用戶為每個賬戶設置獨立的書簽、歷史記錄、密碼、擴展和設置。本文將詳細介紹如何在微軟Edge中管理多個用戶配置文件…