Java学习之二
2015-09-05 23:44
399 查看
1.float类型输入参数要加一个f:
float minSupport = 0.4f;
类集接口:
Collection 能使你操作对象组,它位于类集层次结构的顶层
List 扩展Collection去处理序列(对象的列表)
Set 扩展Collection去处理集合,集合必须包含唯一元素
SortedSet 扩展Set去处理排序集合
类集也使用Comparator, Iterator和ListIterator接口
collection的方法:
contain:是否包含类集元素
contianall:是否包含类集
hashset
hashset、arraylist保存的是指针。
添加元素的时候每次都要开辟内存。
HashSet<Integer> can;
for (Integer item : tran) {
can = new HashSet<Integer>();
can.add(item);
if (!c1.contains(can)) {
c1.add(can);
}
以下的写法导致c1保存最后一个,因为can指向c1里面的元素,can.clear()之后,c1的元素就为空。
HashSet<Integer> can;
for (Integer item : tran) {
can.clear();
can.add(item);
if (!c1.contains(can)) {
c1.add(can);
}
初始化:
HashSet<Integer> tran = new HashSet<Integer>(Arrays.asList(1, 3, 4));
循环的写法:
for (int i = 0; i < dataSet.size(); ++i) {}
每次都要计算
for (int i = dataSet.size() - 1; i >= 0 ; --ii) {}
不用每次计算,但是倒序
length = dataSet.size();
for (int i = 0; i < length; ++i) {}
不用每次计算,但是违反作用域最小原则
for (Iterator<Integer> it = list.iterator(); it.hasNext();) {it.hasNext();}
不用每次计算
for (HashSet<Integer> tran : dataSet) {}
简洁写法,jdk1.4向下不兼容
注意:不在循环内声明变量
hashmap遍历:
HashMap<HashSet<Integer>, Integer> sk = new HashMap<HashSet<Integer>, Integer>();
for (Map.Entry<HashSet<Integer>, Integer> tmp : sk.entrySet()) {}
hashset 转 arraylist:
ArrayList<HashSet<Integer>> lk = new ArrayList<>();
ArrayList<Integer> i1 = new ArrayList<>(lk.get(i));
arraylist排序:
Collections.sort(i1);
i1.sort(null);
hashset转数组:
HashSet<Integer> l1 = lk.get(i);
Integer[] i1 = (Integer[])l1.toArray(new Integer[0]);
Arrays.sort(i1);
float minSupport = 0.4f;
类集接口:
Collection 能使你操作对象组,它位于类集层次结构的顶层
List 扩展Collection去处理序列(对象的列表)
Set 扩展Collection去处理集合,集合必须包含唯一元素
SortedSet 扩展Set去处理排序集合
类集也使用Comparator, Iterator和ListIterator接口
collection的方法:
contain:是否包含类集元素
contianall:是否包含类集
hashset
hashset、arraylist保存的是指针。
添加元素的时候每次都要开辟内存。
HashSet<Integer> can;
for (Integer item : tran) {
can = new HashSet<Integer>();
can.add(item);
if (!c1.contains(can)) {
c1.add(can);
}
以下的写法导致c1保存最后一个,因为can指向c1里面的元素,can.clear()之后,c1的元素就为空。
HashSet<Integer> can;
for (Integer item : tran) {
can.clear();
can.add(item);
if (!c1.contains(can)) {
c1.add(can);
}
初始化:
HashSet<Integer> tran = new HashSet<Integer>(Arrays.asList(1, 3, 4));
循环的写法:
for (int i = 0; i < dataSet.size(); ++i) {}
每次都要计算
for (int i = dataSet.size() - 1; i >= 0 ; --ii) {}
不用每次计算,但是倒序
length = dataSet.size();
for (int i = 0; i < length; ++i) {}
不用每次计算,但是违反作用域最小原则
for (Iterator<Integer> it = list.iterator(); it.hasNext();) {it.hasNext();}
不用每次计算
for (HashSet<Integer> tran : dataSet) {}
简洁写法,jdk1.4向下不兼容
注意:不在循环内声明变量
hashmap遍历:
HashMap<HashSet<Integer>, Integer> sk = new HashMap<HashSet<Integer>, Integer>();
for (Map.Entry<HashSet<Integer>, Integer> tmp : sk.entrySet()) {}
hashset 转 arraylist:
ArrayList<HashSet<Integer>> lk = new ArrayList<>();
ArrayList<Integer> i1 = new ArrayList<>(lk.get(i));
arraylist排序:
Collections.sort(i1);
i1.sort(null);
hashset转数组:
HashSet<Integer> l1 = lk.get(i);
Integer[] i1 = (Integer[])l1.toArray(new Integer[0]);
Arrays.sort(i1);
相关文章推荐
- 深入分析Java线程中断问题
- Java的位运算符详解——与(&)、非(~)、或(|)、异或(^)
- java中判断空字符串时避免出现空指针的方法
- Java第一周:1.2
- Eclipse External Tools --变量设置
- JAVA自学第一天
- java获取地址经纬度
- Java中的左移右移<<、>>、>>>
- Java第一周:1.1
- Java实现文件的读写,复制
- [JavaWeb基础] 016.Struts2 国际化配置
- Java第一周:1.17
- Struts2入门-Hello Word实例
- Java第一周:1.16
- java 中long型数据的对比
- JAVA 时间操作
- 如何停止JAVA线程
- win7使用eclipse连接hadoop集群,运行mapreduce报错之Failed to set permissions of path
- java数据库连接池封装及使用
- java的四种引用