JAVA入门3-2(未完,待续)

课程地址:https://www.imooc.com/video/2415

 四、Java 中的集合框架(上)...

4.1Java中的集合框架概述

123102_dfOZ_3018050.png

123258_JQTv_3018050.png

123324_3GhF_3018050.png

 

123702_vcsW_3018050.png

123725_JBXV_3018050.png

123857_HAhq_3018050.png

 

184126_0tGn_3018050.png

List(序列)、Queue(队列)可重复排列有序的,Set(集)不可重复无序。list和set常用。

ArrayList(数组序列),LinkedList(链表),HashSet(哈希集)

HashMap(哈希表)

子接口-实现类

collection类中储存的是一个一个独立的对象,map内部有些特殊,内部可以提供一些映射

4.2 Collection 接口 & List 接口简介

184302_dXk2_3018050.png

184319_FsyI_3018050.png

文档看

184507_bTYJ_3018050.png

184518_8yUe_3018050.png

184650_jNIW_3018050.png

185200_dXx8_3018050.png

4.2.1创建课程类

注意:public的属性在实际开发中应该私有化,通过get和set访问

185319_m9Ku_3018050.png

学生类创建完了

185446_ACsi_3018050.png

构造初始化,并且导入hashset包

185633_sGaj_3018050.png

创建备选课程类,完成

185719_JHdd_3018050.png

构造存放备选课程的list,实例化,导入Arraylist包

190015_GR8k_3018050.png

190058_0szr_3018050.png

190132_edx4_3018050.png

强转

190229_uqxU_3018050.png

增加主程序

4.2.1添加课程:

190243_Sk70_3018050.png

add方法的添加

另一种方法:

190450_jKIS_3018050.png

190500_k4mf_3018050.png

190509_c319_3018050.png

190645_QMKc_3018050.png

190654_fZIB_3018050.png

异常:数组下标越界

190831_oBSZ_3018050.png

191050_PHsT_3018050.png

191059_Wimw_3018050.png

191234_7y18_3018050.png

191209_JC8q_3018050.png

191241_zpNI_3018050.png

通过addAll()方法添加集合元素

191500_fMjD_3018050.png

4.2.3查询课程:

174414_dvcE_3018050.png

174602_qh46_3018050.png

174611_p5aW_3018050.png

174751_9btE_3018050.png

增加课程1,数据结构

174719_4Cvo_3018050.png

发现顺序有些问题

174846_N2nf_3018050.png

修改课程顺序

174938_A6pr_3018050.png

通过迭代器遍历:

175043_nbMI_3018050.png

175054_nWlT_3018050.png

迭代器本身也是一个接口

175248_TugQ_3018050.png

175259_7IOl_3018050.png

175309_t72Y_3018050.png

迭代器只是遍历元素的,不是存储

for each()方法(迭代器方法的一中简便写法):

175720_lqdH_3018050.png

175729_vISH_3018050.png

175738_5izo_3018050.png

4.2.4修改课程:

180123_U19V_3018050.png

180138_oIhr_3018050.png

180219_gyhp_3018050.png

180245_Szlc_3018050.png

4.2.5删除课程

180821_Wd64_3018050.png

remove()方法:

181010_eDdc_3018050.png

181022_wptN_3018050.png

181049_GGvA_3018050.png

remove()方法2:

181108_cW26_3018050.png

181118_7QEH_3018050.png

181150_xE38_3018050.png

181207_lWr6_3018050.png

removeAll()方法:

181438_3jj9_3018050.png

4.3应用泛型管理课程

测试添加时不是一个类型对象

181815_XwAe_3018050.png

181839_ryYU_3018050.png

181848_uwBV_3018050.png

跑出异常

182107_W6OX_3018050.png

182141_Swj1_3018050.png

182237_ACPd_3018050.png

声明成功一个带有泛型的list

182340_MZJI_3018050.png

声明成功一个带有泛型的list的属性Arraylist成功

182514_DghW_3018050.png

182522_bZvT_3018050.png

添加泛型会在编译期间进行检查,报错

182704_OOKQ_3018050.png

182820_d03N_3018050.png

182850_a3AQ_3018050.png

182857_qGPx_3018050.png

182931_qant_3018050.png

182956_7JNg_3018050.png

183005_WAfD_3018050.png

编译器报错

手动存在course里添加一个无参构造器:

183111_8Ei1_3018050.png

183119_JoCQ_3018050.png

不报错

183207_MaeT_3018050.png

183336_H2Br_3018050.png

183536_xV8E_3018050.png

183544_C5r9_3018050.png

183617_qRkL_3018050.png

修改注释

183659_vtDv_3018050.png

183753_V6XF_3018050.png

183922_DTdO_3018050.png

183932_ZT4A_3018050.png

183940_UOuU_3018050.png

4.4通过 Set 集合管理课程

184116_qD9p_3018050.png
184128_flrb_3018050.png

184153_OM1c_3018050.png

184217_8oZt_3018050.png

184246_rRiU_3018050.png

184308_sCyp_3018050.png

修改学生类的泛型

184410_ha61_3018050.png

看到4.11的3分20

184206_3oy4_3018050.png

把ListTest.java中testGet()方法拷贝

184329_Bx3b_3018050.png

拷贝在上图所示区域中

184409_AHAv_3018050.png

184426_hVJZ_3018050.png

184459_IHDr_3018050.png

184513_OrZU_3018050.png

184531_vF8t_3018050.png

184557_AjSk_3018050.png

注释部分

184626_GCgm_3018050.png

拷贝ListTest.java中的testForEach()方法

184945_gCG6_3018050.png

185212_CNzP_3018050.png

185249_Oleg_3018050.png

185401_YZ8N_3018050.png

185426_In3o_3018050.png

185452_R0tx_3018050.png

set中元素是无需的,不可重复

测试时否不可重复:

185519_MCyT_3018050.png

185605_hWwS_3018050.png

185626_M4Jq_3018050.png

185735_DuUN_3018050.png

只能添加一次

185807_HKj4_3018050.png

 

五、Java 中的集合框架(中)

 

5.1Map & HashMap 简介

190114_Hvvg_3018050.png

190148_FY1Z_3018050.png

190226_5Ubg_3018050.png

190235_AdvI_3018050.png

190245_3ruA_3018050.png

190333_ceh2_3018050.png

5.2学生选课---使用 Map 添加学生

190437_kMVX_3018050.png

190530_WxYK_3018050.png

190721_adRZ_3018050.png

190953_eO8f_3018050.png

191349_71mH_3018050.png

191820_pdbi_3018050.png

191905_QIXp_3018050.png

主程序里调用方法

192015_EKf2_3018050.png

192026_S3Hg_3018050.png

5.3学生选课---删除 Map 中的学生

192550_QVx7_3018050.png

192649_NbPG_3018050.png

192956_ZLqt_3018050.png

193019_aB20_3018050.png

193058_8RD8_3018050.png

5.4 学生选课---修改 Map 中的学生

193207_snPa_3018050.png

193408_vCH8_3018050.png

193641_W6AF_3018050.png

193708_VUgH_3018050.png

193756_TTwi_3018050.png

六、Java 中的集合框架(下)

6.1学生选课---判断 List 中课程是否存在

 

转载于:https://my.oschina.net/u/3018050/blog/1627069

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值