java學習筆記20(Arraylist復習,Collection接口方法,迭代器,增強型for循環)

集合:集合是Java提供的一種容器,可以用來存儲多個數據;

集合與數組的區別:集合的長度是可變的,數組的長度是固定的

         集合中存儲的數據必須是引用類型數據;

ArrayList回顧:

public class Person {private String name;private int age;public Person() {super();}public Person(String name, int age) {super();this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic String toString() {return "Person [name=" + name + ", age=" + age + "]";}}
import java.util.ArrayList;public class Demo1 {public static void main(String[] args) {ArrayList<Integer> arr=new ArrayList<>();arr.add(1);arr.add(2);arr.add(3);arr.add(4);arr.add(5);for (int i = 0; i < arr.size(); i++) {System.out.println(arr.get(i));//1  2   3   4   5
        }ArrayList<Person> arr1=new ArrayList<>();arr1.add(new Person("張三", 18));arr1.add(new Person("李四", 18));arr1.add(new Person("王二", 18));for (int i = 0; i < arr1.size(); i++) {System.out.println(arr1.get(i));}/*Person [name=張三, age=18]Person [name=李四, age=18]Person [name=王二, age=18]*/System.out.println(arr1.size());//3arr1.clear();//清空集合System.out.println(arr1.size());//0
    }
}

collection接口是集合的根接口,研究它應該通過他的實現類

ArrayList集合實現了List接口,List接口繼承了Collection接口,因此可以 通過ArrayList研究Collection的部分方法:

import java.util.ArrayList;
import java.util.Collection;public class Demo3 {public static void main(String[] args) {fun1();fun2();fun3();}private static void fun3() {// 刪除元素Collection<String> c=new ArrayList<>();c.add("abc");c.add("def");c.add("ghi");boolean b=c.remove("abc");System.out.println(b);//true,看是否刪除成功,如果元素不存在,則刪除失敗,如果有重復元素,則刪除第一個System.out.println(c);//[def, ghi]
    }private static void fun2() {// 得到一個存儲對象的數組Collection<String> c=new ArrayList<>();c.add("abc");c.add("defg");c.add("123");Object[] obj=c.toArray();for (int i = 0; i < obj.length; i++) {System.out.println(obj[i]);/*    abcdefg123*/}}private static void fun1() {//利用多態創建Collection類型變量Collection<String> c=new ArrayList<>();c.add("abc");//add()方法添加元素c.add("efg");boolean b=c.contains("abc");//contains方法,判斷集合是否包含某元素,返回布爾類型System.out.println(b);//trueSystem.out.println(c.size());//2//size()方法:集合的大小,存入元素個數c.clear();//清空集合中元素,集合本身仍然存在,就像抽屜里的東西拿走了,抽屜仍然存在System.out.println(c.size());//0
    }
}

迭代器:java有很多的集合,存的方式是不一樣的,我們要取出這些元素,可以通過一種通用的方式獲得;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;public class Demo4 {public static void main(String[] args) {Collection c=new ArrayList<>();c.add("abc");c.add("jfhjkb");c.add(new Person("張三",18));//迭代器Iterator it=c.iterator();while (it.hasNext()) {Object  obj = (Object) it.next();System.out.println(obj);}}
}

增強性for循環:

格式:for(數據類型 變量名:數組或者集合){syso(變量名)}

還以上一個例子為例:

public class Demo4 {public static void main(String[] args) {Collection c=new ArrayList<>();c.add("abc");c.add("jfhjkb");c.add(new Person("張三",18));//增強性for循環for (Object object : c) {System.out.println(c);}
/*[abc, jfhjkb, Person [name=張三, age=18]]
[abc, jfhjkb, Person [name=張三, age=18]]
[abc, jfhjkb, Person [name=張三, age=18]]*/    }
}

?

轉載于:https://www.cnblogs.com/Zs-book1/p/10567432.html

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

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

相關文章

backtrader數據基礎

cerebro bt.Cerebro() cerebro.addstrategy(TestStrategy2) codes[600862.SH,300326.SZ,300394.SZ] #加載最近兩日交易數據 for code in codes:feed Addmoredata(dataname get_data(code,20200506),namecode)cerebro.adddata(feed) cerebro.run() 數據查看&#xff1a; cl…

談判學:三招了解對方底線

導讀&#xff1a;談判者都希望能了解對方的底線&#xff0c;最直接的一招就是將對手變成“朋友”&#xff0c;只是這種“內奸法”畢竟不是常規之法。大多數情況下&#xff0c;談判雙方也不可能像《無間道》一樣在對方陣營安放臥底&#xff0c;但是我們完全可以通過一些辦法來揣…

JSLint檢測Javascript語法規范

前端javascript代碼編寫中&#xff0c;有一個不錯的工具叫JSLint&#xff0c;可以檢查代碼規范化&#xff0c;壓縮JS&#xff0c;CSS等&#xff0c;但是他的語法規范檢查個人覺得太“苛刻”了&#xff0c;會提示各種各樣的問題修改建議&#xff0c;有時候提示的信息我們看的莫名…

Apt 命令解說(apt-get update、apt-cache search package、apt-get install package、apt-get remove )

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 高級打包工具&#xff08;英語&#xff1a;Advanced Packaging Tools&#xff0c;縮寫為APT&#xff09;是Debian及其派生發行版的軟件包…

SQL SERVER 2012 AlwaysOn - 維護篇 03

搭建 AlwaysOn 是件非常繁瑣的工作&#xff0c;需要從兩方面考慮&#xff0c;操作系統層面和數據庫層面&#xff0c;AlwaysOn 非常依賴于操作系統&#xff0c;域控&#xff0c;群集&#xff0c;節點等概念&#xff1b; DBA 不但要熟悉數據庫也要熟悉操作系統的一些概念&#xf…

指標研究與多周期

哪些地方會用到指標 &#xff1f; 回顧一下 Backtrader 的主要功能模塊和回測流程&#xff08;見&#xff1a;Backtrader 來了&#xff01;&#xff09;可以發現&#xff0c;只有在編寫策略Strategy 時才會涉及到指標的計算和使用&#xff0c;而且是 Strategy 中的 __init__()…

區塊鏈BAAS平臺:公共或私人區塊鏈編程以用于各種用途

2019獨角獸企業重金招聘Python工程師標準>>> 人們可以為公共或私人區塊鏈編程以用于各種用途。理論上&#xff0c;我認為犧牲權力下放的方面可以解決區塊鏈技術背后的許多當前問題。區塊鏈仍然可以包容&#xff0c;而不是分散。這如何解決當前的一些問題&#xff1f…

CURL 是什么

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 cURL是一個利用URL語法在命令行下工作的文件傳輸工具&#xff0c;1997年首次發行。 它支持文件上傳和下載&#xff0c;所以是綜合傳輸工…

易用性問題回復

針對淘寶網為例&#xff0c;以一次完整的購物流程為背景&#xff0c;我們分析了在淘寶網中的一些易用性的體現&#xff0c;主要場景如下圖所示: 在本場景中&#xff0c;新用戶下載淘寶app時&#xff0c;第一次打開應用&#xff0c;淘寶app會出現新手指引&#xff0c;教會用戶如…

易盛極星期貨量化教學

我目前量化實盤做期貨交易用的是這個軟件。主要就是因為它可以做套利合約&#xff0c;還有就是國企的外包&#xff0c;安全&#xff08;vnpy的狗咬狗害怕&#xff09;。 策略模板&#xff1a; 設置全局參數變量&#xff1a; #導入包 import talib #選擇合約代碼 code1 #設…

eBay是如何進行大數據集元數據發現的

很多大數據系統每天都會收集數PB的數據。這類系統通常主要用于查詢給定時間范圍內的原始數據記錄&#xff0c;并使用了多個數據過濾器。但是&#xff0c;要發現或識別存在于這些大型數據集中的唯一屬性可能很困難。 在大型數據集上執行運行時聚合&#xff08;例如應用程序在特定…

職業發展 先“立功”還是先“安內”?

導讀&#xff1a;職業生涯更上一層樓&#xff0c;章良躊躇滿志&#xff0c;想在短期內建功立業&#xff0c;奠定江湖地位。但他清楚&#xff0c;自己運籌中的分公司服務升級計劃&#xff0c;對公司整體和自己的職業生涯都非常有利&#xff0c;卻將不可避免地轉移老將掌握的部分…

網關 Kong 折騰筆記 - 相關技術清單

背景 前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 公司準備更好的實現微服務架構&#xff0c;我前期的任務主要是 API 開發相關的技術學習&#xff0c;微服務會隨著業務的增加不斷增加…

Quantaxis更新數據到最新

登錄QQ群&#xff1a;563280067 安裝方法&#xff1a; 1.進入命令界面&#xff0c; 2.pip install pytdx-1.72r2-py3-none-any.whl 3. pip install quantaxis-1.10.19r1-py3-none-any.whl 之后輸入save save all 即可看到所有的數據全部安裝到位

Java各進制之間的轉換

十進制轉成十六進制&#xff1a; Integer.toHexString(int i) 十進制轉成八進制 Integer.toOctalString(int i) 十進制轉成二進制 Integer.toBinaryString(int i) 十六進制轉成十進制 Integer.valueOf("FFFF",16).toString() 八進制轉成十進制 Integer.valueOf("…

mingW與cygwin 異同

首先MingW和cygwin都可以用來跨平臺開發。 MinGW是Minimalistic GNU for Windows的縮寫&#xff0c;也就是Win版的GCC。 Cygwin則是全面模擬了Linux的接口&#xff0c;提供給運行在它上面的的程序使用&#xff0c;并提供了大量現成的軟件&#xff0c;更像是一個平臺。 相…

shell字符串的用法

shell字符串的用法 注意&#xff1a;shell4.2和shell4.1會有差別&#xff0c;較低版本的shell可能不支持某些功能 獲取字符串長度&#xff1a;${#string}獲取子串&#xff1a; 注&#xff1a;&#xff08;左邊的第一個字符是用 0 表示&#xff0c;右邊的第一個字符用 0-1 表示&…

backtrader期權回測框架

使用backtrader數據進行回測&#xff0c;數據源來自于交易所爬取。 效果還行&#xff0c;我相信各位通過這個的框架學習&#xff0c;會對backtrader的應用有更深的領悟。包括數據的連接&#xff0c;新指標的加入。 導入框架&#xff1a; __future__ import (absolute_import…

kong入門實戰

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 安裝kong-database docker run -d --name kong-database \-p 5432:5432 \-e "POSTGRES_USERkong" \-e "POSTGRES_DBkong&…

PAT A1048

示例思想中提到了二分以及two point概念&#xff0c;這個需要后面進行總結&#xff1b;這個示例也給出了一個新的思路。對于兩個數字和m&#xff0c;查找兩個加數&#xff0c;可以進行i和m-i的枚舉&#xff0c;通過遍歷數組查看兩個加數是否存在&#xff0c;來進行遍歷&#xf…