java笔记_集合
2015-11-16 19:52
387 查看
集合概述:
java的思想是面向对象思想,所以就涉及到用容器来储存对象,而对象数组是可以存储对象
但是数组有一个缺点就是长度固定,为了突破这一限制 ,集合就应运而生
数组和集合的优缺点:
长度:数组固定 集合可变
内容:集合只能存储引用类型 数组可以存储基本类型也可以存储引用类型
集合框架:
Collection(单列集合的根接口):
list接口:有序(存和取顺序一致),有索引可以存储重复
ArrayList
LinkedList Vector
数组实现
链表实现 数组实现
set接口:正好相反 无序(存和取顺序不一致),有索引可以存储不可以重复
HashSet treeSet
哈希算法
二叉树算法
父类引用指向子类对象
Collection c = new ArrayList();
双列集合:
Map
HashMap
TreeMap
collection方法:
add()添加方法:
如果是List集合,一直返回true
如果是Set集合,如果存储重复内弄就返回false
ArrayList,父类重写了toString()方法
remove()删除方法:
clear()清空集合:
c.contatins() 判断是否包含
boolean b = c.contains("b"
c.isEmpty() 判断是否为空
int size() 获取元素的个数
集合长度:c.size();
字符串长度:s.length();
数组长度:arr.length;
ArrayList:查询快 增删慢 不安全 效率高
LinkedList:查询慢 增删快 不安全 效率高
Vector:查询快 增删慢 安全 效率低
泛型:
泛型概述:
泛型是一种泛泛的类型,泛指某一种类型,是在创建对象或者调用方法或者实现接口才明确的类型
泛型好处
提高安全性(将运行期的错误转换到编译期)
省去强转的麻烦
泛型使用注意事项
1)<>中放的必须是引用数据类型
2)前后的泛型必须一致,或者后面的泛型可以省略不写(1.7的新特性菱形泛型) (建议后面的也写全)
3)在创建对象或者调用方法或者实现接口明确泛型的时候,尽量不要明确成Object,因为这样做没有意义(泛型的由来就是由Object的转型的问题得到的)
4)泛型是JDK1.5出现的
泛型类: public class 类名<泛型类型1,…>
泛型方法: public <泛型类型> 返回类型 方法名(泛型类型 变量名)
泛型静态方法: public static <泛型类型> 返回类型 方法名(泛型类型 变量名)
泛型接口:public interface 接口名<泛型类型>
子类在实现父接口的时候 可以明确泛型,也可以直接沿用父类的泛型
java的思想是面向对象思想,所以就涉及到用容器来储存对象,而对象数组是可以存储对象
但是数组有一个缺点就是长度固定,为了突破这一限制 ,集合就应运而生
数组和集合的优缺点:
长度:数组固定 集合可变
内容:集合只能存储引用类型 数组可以存储基本类型也可以存储引用类型
集合框架:
Collection(单列集合的根接口):
list接口:有序(存和取顺序一致),有索引可以存储重复
ArrayList
LinkedList Vector
数组实现
链表实现 数组实现
set接口:正好相反 无序(存和取顺序不一致),有索引可以存储不可以重复
HashSet treeSet
哈希算法
二叉树算法
父类引用指向子类对象
Collection c = new ArrayList();
双列集合:
Map
HashMap
TreeMap
collection方法:
add()添加方法:
如果是List集合,一直返回true
如果是Set集合,如果存储重复内弄就返回false
ArrayList,父类重写了toString()方法
remove()删除方法:
clear()清空集合:
c.contatins() 判断是否包含
boolean b = c.contains("b"
c.isEmpty() 判断是否为空
int size() 获取元素的个数
集合长度:c.size();
字符串长度:s.length();
数组长度:arr.length;
ArrayList:查询快 增删慢 不安全 效率高
LinkedList:查询慢 增删快 不安全 效率高
Vector:查询快 增删慢 安全 效率低
泛型:
泛型概述:
泛型是一种泛泛的类型,泛指某一种类型,是在创建对象或者调用方法或者实现接口才明确的类型
泛型好处
提高安全性(将运行期的错误转换到编译期)
省去强转的麻烦
泛型使用注意事项
1)<>中放的必须是引用数据类型
2)前后的泛型必须一致,或者后面的泛型可以省略不写(1.7的新特性菱形泛型) (建议后面的也写全)
3)在创建对象或者调用方法或者实现接口明确泛型的时候,尽量不要明确成Object,因为这样做没有意义(泛型的由来就是由Object的转型的问题得到的)
4)泛型是JDK1.5出现的
泛型类: public class 类名<泛型类型1,…>
泛型方法: public <泛型类型> 返回类型 方法名(泛型类型 变量名)
泛型静态方法: public static <泛型类型> 返回类型 方法名(泛型类型 变量名)
泛型接口:public interface 接口名<泛型类型>
子类在实现父接口的时候 可以明确泛型,也可以直接沿用父类的泛型
相关文章推荐
- Thread的run()与start()的区别
- Java RMI之HelloWorld篇
- java搭建finagle(2)
- Java多线程安全问题
- javaSE(01)
- Spring自定义缓存管理及配置Ehcache缓存
- Java多线程同步
- Java笔记_线程-同步
- Spring遇见问题(二)-----注意配置文件
- java链表的基本操作
- java的反射机制浅谈
- 网上商城项目实战之springmvc配置
- java快捷键
- 15-11-16 Eclipse 操作菜单汉译之 Refactor [重构]
- Java到底是传引用还是传值?
- Java的内部类和匿名内部类的使用规则
- Java:public、private、protected修饰符
- java BigDecimal用法
- spring mvc 集成 thymeleaf ----注解
- spring mvc 配置 thymeleaf