java集合类学习
来源:互联网 发布:厦大网络课程中心 编辑:程序博客网 时间:2024/06/07 00:25
Collection类
集合可以理解为一个动态数组,集合中的对象可以任意扩充.
集合的特点:性能高;容易扩展。
Collection的常用子类有:List、Set、Map
一、List接口
list接口可以存放任意类型的数据,而且在List接口中内容可以重复。
List接口常用子类有:ArrayList、Vector。
1.1ArrayList
下面的Demo中展示了怎样创建ArrayList对象、添加元素、访问元素、移除元素。
package ucas.collection.demo;
import java.util.ArrayList;
import java.util.List;
public class ListDemo {
public static void main(String[] args) {
List lists = null;
lists = new ArrayList();// list可重复
// 添加
lists.add("A");
lists.add("B");
lists.add("A");
for (int i = 0; i < lists.size(); i++) {
System.out.println(lists.get(i));
}
System.out.println("判断集合lists是否为空:"+lists.isEmpty());
//返回第一次出现的位置
System.out.println("A是否存在:"+lists.indexOf("A"));
// 移除
lists.remove(0);
System.out.println("移除第一项以后:");
for (int i = 0; i < lists.size(); i++) {
System.out.println(lists.get(i));
}
}
}12345678910111213141516171819202122232425
1.2Vector
Vector和ArrayList在使用上一样,区别主要在于内部实现上的性能与是否是线程安全上:
比较项ArrayListVector
推出时间jdk1.2jdk1.0
处理方式采用异步处理方式,性能高采用同步处理方式,性能低
是否是线程安全非线程安全线程安全
VectorDemo
package ucas.collection.demo;
import java.util.List;
import java.util.Vector;
public class VectorDemo {
public static void main(String[] args) {
// ArrayList jdk1.2之后推出,采用异步处理方式,性能高,属于非线程安全;
//Vector jdk1.0之后推出, 采用同步处理方式,性能低,属于线程安全。
//方法使用都一样
List lists = null;
lists = new Vector();
lists.add("A");
lists.add("B");
for (int i = 0; i < lists.size(); i++) {
System.out.println(lists.get(i));
}
}
}
123456789101112131415161718192021
二、Set接口
Set接口中不可以加入重复元素,但是可以排序 。Set常用子类 有2个,散列存放使用HashSet ,有序存放使用TreeSet。
package ucas.collection.demo;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;
public class SetDemo {
public static void main(String[] args) {
/*
* Set接口中不可以加入重复元素,但是可以排序 Set常用子类 散列存放:HashSet
* 有序存放:TreeSet
*/
Set s = null;
s = new TreeSet();
s.add("B");
s.add("A");
s.add("C");
s.add("D");
s.add("E");
s.add("F");
s.add("G");
System.out.println(s);
}
}
123456789101112131415161718192021222324252627
输出:
[A, B, C, D, E, F, G]1
HashSet:
package ucas.collection.demo;
import java.util.HashSet;
import java.util.Set;
public class HashSetDemo {
public static void main(String[] args) {
Set hs=new HashSet();
hs.add("two");
hs.add("one");
hs.add("three");
hs.add("four");
hs.add("five");
hs.add("six");
System.out.println(hs);
}
}
1234567891011121314151617181920
输出
[six, four, one, two, three, five]
- Java 集合类学习
- Java集合类学习
- java学习:集合类
- java集合类学习
- Java 集合类学习
- java-学习-集合类
- java学习(集合类)
- java集合类学习
- 深入学习Java集合类
- JAVA集合类框架学习
- Java集合类详细学习
- Java集合类框架学习
- java Map 集合类学习
- Java 集合类的学习
- java 集合类学习总结
- Java集合框架类学习
- java集合类学习笔记
- JAVA 集合类学习小结
- 2n皇后问题
- java语言实现冒泡排序、简单选择排序、反转排序
- 【ORACLE】ORACLE 12c PDB 基础
- ftrace framework
- Android进阶之大话设计模式
- java集合类学习
- Android常用设计模式
- 2013年第四届蓝桥杯B组C/C++省赛题解
- 关于在struts2中用ognl表达式截取时间长度
- was(websphere) spring logging problem
- linux 内核线程demo
- usaco 2.1.4 holstein
- WifiManager详解-wifi连接状态的监听
- ftrace macro