标签:
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);
标签:
原文地址:http://www.cnblogs.com/ywys/p/4784234.html