2014-07-06 日志

45 篇文章 0 订阅
集合体系(理解)
(1)集合的由来?
我们学习的是面向对象的语言,最基本的单位就是类,使用的时候,最基本的是对象。
而我们如果需要使用多个对象,就必须用能存储多个对象的容器来做。
目前就学过数组。而数组有不能适用变化的操作。
所以,java就提供了一种新的容器:集合。
(2)集合和数组的区别?
A:集合
长度可变
只能存储引用类型
可以存储不同类型的元素
B:数组
长度固定
可以存储基本类型,也可以存储引用类型
存储的是同一种类型的元素
(3)集合体系结构
由于数据结构不同,多个集合类的存储,判断,删除等操作不太一样,
通过不断的向上抽取,最终形成了一个集合继承实现体系结构。


Collection
|--List
|--ArrayList
|--Vector
|--LinkedList
|--Set
|--HashSet
|--TreeSet


3:Collection(掌握)
(1)Collection的功能概述:
A:添加功能
add(Object obj)--(掌握)
addAll(Collection c)--(了解)
B:删除功能
remove(Object obj)--(掌握)
removeAll(Collection c)--(了解)
clear()--(了解)
C:判断元素
contains(Object obj)--(掌握)
containsAll(Collection c)--(了解)
D:遍历功能
Iterator iterator()--(掌握)
E:长度功能
size()--(掌握)
F:交集
retainAll(Collection c)--(了解)
G:转数据
Object[] toArray()--(理解)
(2)案例:
集合操作四部曲:
A:创建集合对象
B:创建元素对象
C:添加元素到集合
D:遍历集合
a:通过集合对象得到迭代器对象
b:通过迭代器对象的hasNext()方法判断是否有元素
c:通过迭代器对象的next()获取元素,并移动到下一个位置


A:Collection存储字符串并遍历

Collection c = new ArrayList();


//String s = "hello";
//c.add(s);


c.add("hello");
c.add("world");
c.add("java");


Iterator it = c.iterator();
while(it.hasNext()) {
String s = (String) it.next();
System.out.println(s);
}

B:Collection存储自定义对象并遍历
Student:省略
name,age



Collection c = new ArrayList();


Student s1 = new Student("aaa",20);
Student s2 = new Student("bbb",30);
Student s3 = new Student("ccc",40);


c.add(s1);
c.add(s2);
c.add(s3);


Iterator it = c.iterator();
while(it.hasNext()) {
Student s = (Student) it.next();
System.out.println(s.getName()+"---"+s.getAge());
}


4:List(掌握)
(1)列表集合。
(2)List集合的特点:
Collection
|--List
元素有序(存储和取出的顺序一致),可以重复
|--Set
元素无序,唯一
(3)List的特有功能:
A:添加功能
add(int index,Object obj)--(理解)
B:删除功能
remove(int index)--(掌握)
C:修改功能
set(int index,Object)--(掌握)
D:获取功能
get(int index)--(掌握)
E:列表迭代器
ListIterator listIterator()--(了解)
(4)案例:
注意:
List集合多了一种遍历方式。普通for循环。


A:List存储字符串并遍历
B:List存储自定义对象并遍历
(5)ListIterator面试题:
A:可以逆向遍历,但是要求先正向遍历。意义不大。一般不用。
B:并发修改异常
a:原因
在使用迭代器遍历元素的时候,不要去使用集合修改集合的元素
b:解决方案
集合遍历,集合修改。

迭代器遍历,迭代器修改。


早上换卷评分,错了一道选择:null是字面常量。97分。隔壁又没来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
2023-07-12 06:14:55,516: If you're seeing an import error and don't know why, 2023-07-12 06:14:55,516: we have a dedicated help page to help you debug: 2023-07-12 06:14:55,516: https://help.pythonanywhere.com/pages/DebuggingImportError/ 2023-07-12 06:14:55,517: *************************************************** 2023-07-12 06:14:56,572: Error running WSGI application 2023-07-12 06:14:56,572: ImportError: cannot import name 'Markup' from 'jinja2' (/home/ChengYg/.virtualenvs/myvirtualenv/lib/python3.10/site-packages/jinja2/__init__.py) 2023-07-12 06:14:56,572: File "/var/www/chengyg_pythonanywhere_com_wsgi.py", line 16, in <module> 2023-07-12 06:14:56,572: from flask_app import app as application # noqa 2023-07-12 06:14:56,573: 2023-07-12 06:14:56,573: File "/home/ChengYg/big_screen-master/flask_app.py", line 8, in <module> 2023-07-12 06:14:56,573: from flask import Flask, render_template 2023-07-12 06:14:56,573: 2023-07-12 06:14:56,573: File "/home/ChengYg/.virtualenvs/myvirtualenv/lib/python3.10/site-packages/flask/__init__.py", line 19, in <module> 2023-07-12 06:14:56,573: from jinja2 import Markup, escape 2023-07-12 06:14:56,573: *************************************************** 2023-07-12 06:14:56,573: If you're seeing an import error and don't know why, 2023-07-12 06:14:56,573: we have a dedicated help page to help you debug: 2023-07-12 06:14:56,574: https://help.pythonanywhere.com/pages/DebuggingImportError/ 2023-07-12 06:14:56,574: ***************************************************
最新发布
07-13

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值