Java学习日记 集合
一、接口Map<K,V>
1.V put(K key, V value)
2.int size()
3.public class HashMap<K, V> implements Map<K, V>
按键的哈希值存储,put时,key相同会发生替换,一个key值只能对应一个value
4.Map的遍历
Map没有迭代器,通过keyset()和values()遍历
Set<K> keySet()
Collection<V> values()
//5.Set<Map.Entry<K,V>> entrySet()
public static interface Map.Entry<K,V>
6.V get(Object key)
7.LinkedHashMap
TreeMap
二、泛型
1.instanceOf
o instanceof Student
判断对象o是否属于Student类
2.泛型只能添加类类型,不能添加基本数据类型,但是基本数据类型会自动装箱拆箱
3.一个类可以有多个泛型
Map<String, Student>
List<List<Student>>
Map<String,List<Student>>
三、排序
1.Comparable<T>接口
一个类通过implements该接口,实现其 int compareTo(T o)方法,就可以定义该类的一种比较方法,返回一个int值
PS:这种排序实现把排序方法和类绑定,不如Comparator灵活
2.接口 Comparator<T>
int compare(T o1, T o2)
定义一个类,implements Comparator接口,实现compare方法,将这个类的对象传递给sort方法(如 Collections.sort 或 Arrays.sort),实现自定义排序规则,完成对List等的排序
四、Collections
1. java.util.Collections
2.Collections类中包含大量静态方法,实现对集合的多种操作
3.static <T extends Object & Comparable<? super T>> T max(Collection<? extends T> coll)
Returns the maximum element of the given collection, according to the natural ordering of its elements.
五、集合相关
1.集合转数组
Collection接口中有toArray方法 <T> T[] toArray(T[] a)
具体的集合中都实现了该方法,可以直接将集合转为数组
2.数组转集合
没有现成方法,自己写
3.增强for遍历集合
可以使用for-each循环对集合进行遍历
Java学习日记 集合的更多相关文章
- java学习笔记—集合之Map集合
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: center; font: 12.0px Times } p.p2 { margin: 0.0p ...
- Java学习:集合双列Map
数据结构 数据结构: 数据结构_栈:先进后出 入口和出口在同一侧 数据结构_队列:先进先出 入口和出口在集合的两侧 数据结构_数组: 查询快:数组的地址是连续的,我们通过数组的首地址可以找到数组,通过 ...
- Java学习日记-10 集合
集合(Collection) 1. 什么是集合? 集合是一组对象组成的一个整体,又称为容器,集合类属于java.util包.集合不同于数组的地方在于,一是它的容量是可变的,二是集合中只能存储对象,不能 ...
- Java学习日记-11 集合(1)
Collection接口集合中存储的只是对象的引用,不是对象本身. 1.ArrayList<E>类1.1ArrayList和Collection的关系 public interface L ...
- Java学习日记基础篇(九) —— 集合框架,泛型,异常
集合框架 有事我们会需要一个能够动态的调整大小的数组,比如说要添加新员工但是数组已经满了,并且数组的大小是在定义的时候定死的,所以我们就需要一个能够动态调整大小的数组或者用链表解决,而java中提供了 ...
- Java学习日记-12 集合(2)
一.List<E>接口(超级接口Collection,List比Collection多重载了一些索引作为形参的方法)1.实现类ArrayList\LinkedListArrayList顺序 ...
- 0015 Java学习笔记-集合-TreeMap集合
主要的方法 构造方法: TreeMap(); TreeMap(Comparator<?super K> comparator); TreeMap(Map<? extends K,? ...
- 0014 Java学习笔记-集合-HashMap集合
主要的方法 + 构造方法: * HashMap(); - 默认大小16,负载因子0.75 * HashMap(int initialCapacity); * HashMap(int initialCa ...
- Java学习日记-2 零零碎碎
一.使用Scanner类进行控制台的输入 文档中Scanner类的定义为A simple text scanner which can parse primitive types and string ...
随机推荐
- 《Android开发艺术探索》读书笔记 (1) 第1章 Activity的生命周期和启动模式
第1章 Activity的生命周期和启动模式 1.1 Activity生命周期全面分析 1.1.1 典型情况下生命周期分析(1)一般情况下,当当前Activity从不可见重新变为可见状态时,onRes ...
- 体验Impress.js
用腻了ppt,prezi的风格看起来更酷一点儿,无意中得知有Impress.js这么一个H5版的prezi,nice,值得一试. 关于Impress.js,网上教程很多,但说实话就跟教小朋友一样,一步 ...
- 移动端屏幕自适应js与rem
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;&qu ...
- 国内优秀npm镜像
淘宝npm镜像 淘宝npm镜像:http://npm.taobao.org/ 1.临时使用 npm --registry https://registry.npm.taobao.org install ...
- html.ex.day02
1.同一个目录内页面跳转 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http: ...
- SQL 里面的COALESCE函数
在SQL里面除了is null 还有这样一个还用的方法 COALESCE(值[, ...]) select COALESCE(NULL,NULL,'AAAA') -> 'AAAA' 意思是前面的 ...
- hello,boke
我一名学习软件工程金融服务工程的学生,简单来说就是学习计算机类的,对于自己的介绍,从平时生活中来说吧,我一直处于一种很中规中矩的生活状态里,平时玩玩手机.追追剧.和室友一起去图书馆自习,考前拼命复习两 ...
- Android学习----五大布局
1.LinearLayout 线性布局 android:orientation="horizontal" 制定线性布局的排列方式 水平 horizontal 垂直 vertical ...
- 04_RHEL7.1忘记root密码
在开机进入启动项时,选择需要重设密码的那个启动项 按e进入编辑模式,找到rhgb和quiet参数(几乎在最下面),替换为 init=/bin/sh 按ctrl+X不需密码进入shell 以rw的方式重 ...
- bootstrap导航条
<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>我的 ...