[总结] 2016.12.14 星期三

集合框架
为了实现某一目的和功能而预先设计好的一系列封装好的具有继承或实现关系的类和接口
Java中对一些数据接口和算法进行了封装,即集合,集合也是一种用于存储,检索和传输对象

list列表
特点:线性,即有序(元素的放入顺序与存储顺序保持一致)
表象上list的最大特点就是有下标,ArrayList就是一个封装数组
linklist底层封装的是一个链表,(具有双向性)
当需要做大量查询动作是使用arraylist;
当需要做大量增删动作时使用linklist;

遍历:将集合中每个元素依次取出,做同样的操作(以前使用for循环)
迭代器:是集合框架类collection直接分支专用,特点是没有下标,从头到尾走一遍
foreach循环
底层封装的就是迭代器,但语法更简单还可以操作数组
 int [] arraylist = new ArrayList[9];
 for(int a : arraylist){
    System.out.println(a);
 }

Set.集
特点----不能放置重复的元素,无序。表象上Set没有下标
如何判断元素不重复?
    1.调用equals方法得到两个对象比较为True
    2.两个元素的HashCode值保持一致
只有满足这两个条件时,java才认为这是同一个对象,所以重写equals的时候也要重写hashCode方法
常用子类HashSet
增加---还是使用.add();添加值
删除---只能根据对象进行删除,还是用.remove,不能获得某个指定的元素
取出---不支持for循环,可以用Iterator和foreach遍历返回object
修改---没有修改方法

Map.映射
特点:键值对,键要求唯一,值可以重复,放入的顺序与存储顺序无关
常用子类:hashMap(主要对集合操作)Properties (主要是对属性文件操作)
增加---使用.put(键,值),没有add方法
长度---使用.size;
修改---map.put()键不变,直接放入值
删除---使用.remove(),输入对应的键即可
获取---使用map.get(),输入对应的键即可
遍历Map:不能同时遍历键和值,只能分开遍历
1.遍历所有的键:
    Set<String> keyset = map.keyset();
    for(String key : keyset){
    System.out.prinyln(key)
    }
2.遍历所有的值:
    Collection〈stndentBean〉allStu = map.values();
    for(studentBean tmpstu : allStu){
      System.out.println(tmpstu)
    }

collections.工具算法类
可以求集合的最大值和最小值,排序,和打乱,倒序等
只能比较List排序
比较器:
    comparable:内部比较器,指元素中带有的比较器
collections.sort(lst);自带内部比较器
    comparator:外部比较器,指元素外部调用的比较器
collections.sort(lst,new studentcomparator);连接外部的比较器
collections.shuffer(lst);是随机打乱排序。

时间: 2024-10-05 04:40:42

[总结] 2016.12.14 星期三的相关文章

[总结] 2016.12.7 星期三

多态 关键字:instanceof用于判断运行时对象是否是某个类的实列返回的是布尔类型的值:true 或者 false 动态多态的技术基础    1.向上转型技术:一个父类的引用变量可以指向不同的子类对象,或者说一个子类对象可以被当作一个父类类型    2.动态绑定技术:运行时根据父类引用变量所指对象的实际类型执行相应的子类方法,从而实现多态.多态特点:    1.使用父类类型的引用指向子类的对象    2.该引用只调用父类中定义的方法,不能调用子类中独有的方法    3.如果子类中重写了父类中

mysql练习题-2016.12.16

>>>>>>>>>> 练习时间:2016.12.16 编辑时间:2016-12-20-->22:12:08 题: 涉及:多表查询.exists.count().group by.order by 1.1 关系模式 学生student:   SNO:学号:   SNAME:姓名:   AGE:年龄 :   SEX:性别 课程course:CNO:课程代码,CNAME:课程名称,TEACHER:教师 学生成绩SC:SNO:学号,CNO:课程代码

【读书笔记】2016.12.10 《构建高性能Web站点》

本文地址 分享提纲: 1. 概述 2. 知识点 3. 待整理点 4. 参考文档 1. 概述 1.1)[该书信息] <构建高性能Web站点>: -- 百度百科 -- 本书目录: 第1章 绪论 1.1 等待的真相 1.2 瓶颈在哪里 1.3 增加带宽 1.4 减少网页中的HTTP请求 1.5 加快服务器脚本计算速度 1.6 使用动态内容缓存 1.7 使用数据缓存 1.8 将动态内容静态化 1.9 更换Web服务器软件 1.10 页面组件分离 1.11 合理部署服务器 1.12 使用负载均衡 1.1

第一小组作业 2016.12.8

Sprint计划会议 会议时间:2016/12/8  14:00 会议地点:操场 会议进程: l 首先我们讨论排球计分程序功能最后的制定. l 然后我们讨论实现基本功能的各项工作. l 之后我们讨论各项工作的分工和认领. l 最后每个人对自己的任务进行必要的估算. 团队的Backlog 初期目标:完成程序前期的一切准备,并编写出核心代码的基本雏形. 任务 认领人 估计完成时间 代码编写 胡腾启 20h(>=2h/天) 代码复审 李永威 15h(>=2h/天) 发表博客,组织会议 宋彤彤 15h

关于2016.12.12——T1的反思:凸包的意义与应用

2016.12.12 T1 给n个圆,保证圆圆相离,求将圆围起来的最小周长.n<=100 就像上图.考场上,我就想用切线的角度来做凸包.以圆心x,y排序,像点凸包一样,不过用两圆之间的下切线角度来判断. 这就是下切线(我自己瞎编的名字): 好像是对的啊: 然后我就保证必AC的希望,用这种写法交了,然后就只得了N=2的暴力分... 自以为是正解,却落得如此下场... 为什么?这样不对吗?借用学长的力量,果然被Hack掉了: 这种情况,圆心排序后,检测的顺序并不是圆上的切点的顺序,自然就会挂. 蓝瘦

rhel 7.0 配置centos yum源(2016/12/8),成功!

1.首先查看redhat 7.0系统本身所安装的那些yum 软件包: rpm -qa | grep yum #列出所有已安装的yum包 2.删除这些包: rpm -e *.rpm --nodeps #删除所有以前的yum包 3.下载新的yum rpm包:(2016/12/8 最新版本rpm,如果404 NOT FOUND错误,自己进去网址,换成最新的rpm包的名字) wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-3.4.3

Oracle中把一个DateTime的字符串转化成date类型。to_date(&#39;2016/12/8 18:55:43&#39;,&#39;yyyy/MM/dd hh24:mi:ss&#39;),

Oracle中把一个DateTime或者该形态字符串转化成date类型. to_date('2016/12/8 18:55:43','yyyy/MM/dd hh24:mi:ss'), 或者: select to_date('2010-10-20 13:23:44','yyyy-mm-dd hh24:mi:ss')  from dual; 是用" /"还是" -"取决于字符串是什么结构的. date类型转换成char类型, 例子to_char(' ','yyyymmd

12.13 Nginx防盗链;12.14 Nginx访问控制;12.15 Nginx解析php相关配

扩展: 502问题汇总  : http://ask.apelearn.com/question/9109 location优先级 : http://blog.lishiming.net/?p=100 12.13 Nginx防盗链 设定目录访问受限: 1. 配置test.com网站目录的防盗链,编辑虚拟主机配置文件 : [[email protected] ~]# vim /usr/local/nginx/conf/vhost/test.com.conf 插入黄框内容(注释掉红框行): locat

12.13 Nginx防盗链 12.14 Nginx访问控制 12.15 Nginx解析php相关配

12.13 Nginx防盗链 vim /usr/local/nginx/conf/vhost/test.com.conf加入location ~ ^.+.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)${expires 7d;valid_referers none blocked server_names .test.com ;if ($invalid_referer) {return 403;}access_log off;}