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 ...
随机推荐
- Macos Coco2d-x Android开发
1. 在装好环境 2. cocos new [-h] [-p PACKAGE_NAME] -l {cpp,lua,js} [-d DIRECTORY] [-t TEMPLATE_NAME] [--io ...
- java多态---内存关系
在该列中,a.lookDoor()会报错,因为azhong没有lookDoor这个方法,同理,a.playGame()也会报错. 注意!!! 最后一句Dog dd=(Dog)a: 这句话非常错误! 在 ...
- yii2 and short_open_tag
在看yii2的时候, 在main文件里看到了这样一段代码 <?= Yii::$app->language ?> 而我查看了php.ini里的配置, short_open_tag=Of ...
- 【iOS UISearchBar父控件是UIScrollView时,上移的问题】
如果UISearchViewController的父控件是UIScrollView,点击UISearchBar后,它会移出控制器外.如下,使用UIScrollView作为"消息"和 ...
- 【分享】w32service table XPsp2
Ord Address fnAddr Symbols-------------------------------- [ 0] BF999280: BF93569A (win32k!Nt ...
- Android 用MediaCodec实现视频硬解码
http://blog.csdn.net/halleyzhang3/article/details/11473961 http://www.360doc.com/content/14/0119/10/ ...
- java常见错误的列表
ava常见错误列表: 找不到符号(symbol) 类X是public的,应该被声明在名为X.java的文件中 缺失类.接口或枚举类型 缺失X 缺失标识符 非法的表达式开头 类型不兼容 非法的方法声明; ...
- Wpf 数据绑定之BindingBase.StringFormat
BindingBase.StringFormat 属性获取或设置一个字符串,该字符串指定如果绑定值显示为字符串,应如何设置该绑定的格式. StringFormat 可以是预定义的.撰写的或自定义的字符 ...
- Linux makefile 教程 非常详细,且易懂(转)
转自:http://blog.chinaunix.net/uid-27717694-id-3696246.html 原文地址:Linux makefile 教程 非常详细,且易懂 作者:Deem_pa ...
- 使用gdb调试(转: http://www.cnblogs.com/luchen927/archive/2012/02/07/2339003.html)
一般来说GDB主要调试的是C/C++的程序.要调试C/C++的程序,首先在编译时,我们必须要把调试信息加到可执行文件中.使用编译器(cc/gcc/g++)的 -g 参数可以做到这一点.如: > ...