集合的简单使用
来源:互联网 发布:mac hex 编辑器 编辑:程序博客网 时间:2024/05/22 10:35
用数组就可以了,为什么还需要学习集合呢?
1. 因为数组是定长的,不容易修改其长度。[数组的缺点之一]
2. 数组里存放的元素类型必须一致。[数组的缺点之二]
而集合则可以弥补这两个缺点。
ArrayList的使用
public class Test {
public static void main(String[] args) {
/*
创建一个集合,该集合的类型是ArrayList
Ctrl+1: 快速导包
ArrayList的特点:
1. ArrayList这个集合是有序且可重复的
2. ArrayList的内部数据结构是使用"数组"实现的
*/
ArrayList list = new ArrayList();
// ArrayList怎么添加数据呢?这里的数据指的就是对象
// ArrayList添加对象(使用add方法)
list.add("A");
list.add("B");
list.add("C");
list.add("D");
list.add("E");
/*
如何遍历ArrayList集合里的数据?有两种方式:
1. 使用迭代器Iterator
2. 使用增强for循环
*/
/*
// 拿到ArrayList里的一个瓢;
Iterator it = list.iterator();
// it.hasNext() 看一下桶里有没有下一个元素,如果有则返回true,没有则返回false
// it.next() 取出元素
while(it.hasNext()) {
Object obj = it.next();
System.out.println(obj); // Alt+/
}
*/
// 增强for循环专门用来循环数组和集合
for(Object obj: list)
System.out.println(obj);
/*
语法:
for(类型 变量名: 集合或数组) {
}
*/
// ArrayList的删除
list.remove(0);
// ArrayList修改元素
list.set(0, "Y");
}
}
LinkedList的使用
public static void main(String[] args) {
/*
LinkedList集合的特点:
1. 有序的,可重复的
2. 数据结构是使用“链表”实现的
*/
// 创建一个LinkedList集合
LinkedList link = new LinkedList();
link.add("A");
link.add("B");
link.add("C");
link.add("D");
link.remove(0);
link.set(0, "XXYY");
for(Object obj: link)
System.out.println(obj);
}
HashSet示例:
public static void main(String[] args) {
/*
HashSet集合的特点:
1. 无序的,不可重复
2. 数据结构使哈希表实现的(再说底层一点,这个哈希表是使用“链表+数组”来实现的)
HashSet怎么做到不可重复的?
调用放进去对象的equals()方法来判断对象是否重复
为了加快判断对象是否重复的速度,强烈推荐对象实现equals方法的同时,也实现hashcode方法
*/
HashSet hs = new HashSet();
String a = new String("A");
String b = new String("A");
hs.add(new Person());
for(Object obj: hs)
System.out.println(obj);
}
Map集合的使用示例:
public static void main(String[] args) {
/*
HashMap集合的特点:
1. 专门用来存放键值对(key-value)
2. HashMap的Key是使用Set集合来存放的,所以Key里的元素是“无序,不可重复”
*/
HashMap<String, String> map = new HashMap<String, String>();
// 对Map集合放数据 put
// 左边称为键key,右边称为值value
map.put("zhangsan", "12345");
map.put("lisi", "xxyy");
map.put("wanwu", "5201314");
// 根据key获得一个value
Object obj = map.get("zhangsan");
System.out.println(obj);
/*
难点:如何遍历HashMap集合
1. 使用keySet()和get()方法组合来遍历HashMap集合
2. 使用entrySet()方法来遍历HashMap集合
总结:推荐使用第二个方法,因为它是速度最快的。
*/
// 第一个方法
// 把HashMap集合里的key全部放到一个Set集合里面。
// Set keys = map.keySet();
// for(Object key: keys) {
// Object value = map.get(key);
// System.out.println(key + "=" + value);
// }
// 第二个方法
Set<Map.Entry<String, String>> entrySets = map.entrySet();
for(Entry<String, String> en: entrySets) {
System.out.println(en.getKey() + "=" + en.getValue());
}
// ArrayList list = new ArrayList();
// list.add("zhangsan 12345");
}
- 集合的简单使用
- collection集合的简单使用
- ArrayList集合的简单使用
- CYC-集合视图 UICollectionView的简单使用
- Set集合简单使用
- HashSet集合简单使用
- .NET入门(11)集合里的List简单使用
- .NET入门(11)集合里的List简单使用
- Python 使用list实现简单的集合set
- swift 之 数组集合字典的简单使用
- JAVA 集合Map的简单使用(HashMap)
- 简单的智力题集合
- 集合的简单概括
- 简单的集合
- 集合的简单介绍
- oc 字典集合简单使用
- Java 集合 4:TreeMap 的使用(不包括原理,仅仅是简单的使用 demo)
- 集合排序的简单解决方案
- myeclipse10.1的注册码破解步骤
- 前端单行与多行文本的省略表示
- 详解linux vi命令用法
- 当你输入一个网址,实际会发生什么?
- TOMCAT中部署项目
- 集合的简单使用
- Linux vi 命令用法
- spring scope自定义
- SQL EXISTS 与 NOT EXISTS 的实现细节 和 嵌套查询
- 互联网的色彩心理学
- TOMCAT目录结构理解
- FINDBUGS 程序bug检查工具eclipse插件(3.5以上版本)
- ubuntu xrandr修改分辨率
- spring入门(9)---AOP编程之AOP介绍