Bag是一种简单的数据结构,其内部为数组,长度不可变。可以说是对数组的简单封装。EBag实现了Collection接口,具有Collection定义的方法外还具有求交集,并集,差集的功能。
------测试方法
package com.woxiaoe.collection.test;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import com.woxiaoe.collection.EBag;
import junit.framework.TestCase;
public class CollectionTest extends TestCase {
EBag<Integer> eBag = null;
List<Integer> l = null;
@Override
protected void setUp() throws Exception {
eBag = new EBag<Integer>(20);
l = new ArrayList<Integer>();
eBag.add(1);
eBag.add(2);
eBag.add(3);
eBag.add(4);
eBag.add(5);
eBag.add(6);
eBag.add(7);
eBag.add(8);
eBag.add(9);
eBag.add(10);//添加失败
l.add(11);
l.add(12);
l.add(13);
l.add(14);
l.add(15);
eBag.addAll(l);
}
public void testEBag() throws Exception{
Random r = new Random();
System.out.println("初始值:" + eBag);
System.out.println(eBag.size());
for(int i = 0; i <= 10; i++){
System.out.println("i:" +i + "\t" + eBag.remove(new Integer(i)));
}
System.out.println("删除1--10后:" + eBag);
System.out.println("大小:" + eBag.size());
eBag.removeAll(l);
System.out.println("删除链表l后:\t" + eBag);
setUp();
eBag.retainAll(l);
System.out.println("重新初始化后,只保留链表中的值" + eBag + "\t size:" + eBag.size());
}
public void testEBagUnion(){
EBag<Integer> bag2 = new EBag<Integer>(5);
bag2.add(2);
bag2.add(3);
bag2.add(4);
bag2.add(5);
bag2.add(6);
System.out.println("bag1:" + eBag);
System.out.println("bag2:" + bag2);
eBag = eBag.union(eBag, bag2);
System.out.println("求并集" + eBag);
}
public void testEBagintersection(){
EBag<Integer> bag2 = new EBag<Integer>(5);
bag2.add(2);
bag2.add(3);
bag2.add(4);
bag2.add(5);
bag2.add(6);
System.out.println("bag1:" + eBag);
System.out.println("bag2:" + bag2);
System.out.println("求交集" + EBag.intersection(eBag, bag2));
}
public void testEBagDifference(){
EBag<Integer> bag2 = new EBag<Integer>(5);
bag2.add(2);
bag2.add(3);
bag2.add(4);
bag2.add(5);
bag2.add(6);
System.out.println("bag1:" + eBag);
System.out.println("bag2:" + bag2);
System.out.println("求差集" + EBag.difference(eBag, bag2));
}
public void testClear(){
eBag.clear();
System.out.println("eBag 清空后 \t" + eBag);
eBag = null;
}
}
Output
初始值:[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
15
i:0 false
i:1 true
i:2 true
i:3 true
i:4 true
i:5 true
i:6 true
i:7 true
i:8 true
i:9 true
i:10 true
删除1--10后:[11,12,13,14,15]
大小:5
删除链表l后: []
重新初始化后,只保留链表中的值[11,12,13,14,15] size:5
bag1:[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
bag2:[2,3,4,5,6]
求并集[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,2,3,4,5,6]
bag1:[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
bag2:[2,3,4,5,6]
求交集[2,3,4,5,6]
bag1:[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
bag2:[2,3,4,5,6]
求差集[1,7,8,9,10,11,12,13,14,15]
eBag 清空后 []
null
分享到:
相关推荐
Out-of-bag样本的应用研究,张春霞,郭高,Bagging集成通过组合不稳定的基分类器在很大程度上降低
/** Sees whether this bag is full. @return true if the bag is full, or false if not */ public boolean isFull(); /** Sees whether this bag is empty. @return true if the bag is empty, or false if not...
SIFT等局部特征的词袋模型实现。包括K-means聚类,直方图特征的形成,以及KNN分类。
利用vlp16录制的点云bag包----velodyne_points.bag,topic为velodyne_points,利用rviz可以实现可视化,效果好
这是一个用matlab和c++联合编写的bag of features源码,实现了完整的bof 图像搜索功能,经测试准确度可达80%.具体用法详见我的CSDN博客。具体用法详见我的CSDN博客。
1、资源内容:基于matlab和bag of words实现的图像分类+源代码+文档说明+设计报告 2、代码特点:内含运行结果,不会运行可私信,参数化编程、参数可方便更改、代码编程思路清晰、注释明细,都经过测试运行成功,功能...
tf软件包中包含的程序实现了对/tf主题上传入的消息的后台记录,并将它们组合在直接非循环图中,然后可以在两个任意节点之间进行查找。 尽管可以将/tf和/tf_static主题包括在/tf_static记录的主题中,但没有提供...
由于OpenCv无法以可变帧速率进行编码,因此可通过复制帧来实现可变帧速率。 这会产生非常大的文件,应使用ffmpeg之类的文件重新编码。用法 usage: bag2video.py [-h] [--outfile OUTFILE] [--precision PRECISION] ...
详细介绍了bag of words 的算法实现和算法原理,值得学习。
基于内容的图像检索。通过Bag of Visual Words视觉词袋模型构建视觉词袋,实现以图搜图
Project bag 背包源码,unity 代码仅供参考,请不要商用
只需分叉此仓库,实现新功能(在这种情况下非常简单)并发出。 功能请求列表: 制作汽车的 ,因此ROS本身可以轻松完成帧之间的转换。 处理小径 支持未同步+未修正的版本 通过提供文档 提供简单的GU
实现 数据集:caltech101 matlab + bag of words 改自ImageCategoryClassificationTrainSample bag of words:利用matlab中bagOfFeatures函数提取SURF特征并K-means聚类构造“词典” svm:利用...
用于实现rosbag2的存储库,如其相应的。 安装说明 Debian软件包 rosbag2软件包可通过debian软件包获得,因此可以通过以下方式安装 $ export CHOOSE_ROS_DISTRO=crystal # rosbag2 is available starting from ...
实现 数据集:caltech101 matlab + bag of words 改自ImageCategoryClassificationTrainSample bag of words:利用matlab中bagOfFeatures函数提取SURF特征并K-means聚类构造“词典” svm:利用...
用法rosbag_snapshot可以通过命令行标志和ROS参数进行配置,以实现更精细的控制。 默认情况下,该命令将在服务器模式下运行(缓冲数据)。 当使用某些标志时,程序将通过请求服务器将数据写入磁盘或冻结缓冲区以保留...
Erlscripten – Erlang到PureScript编译器...) 钢筋项目移植ETS(仅缺少duplicate_bag实现)支持什么? 位串泄漏可变范围基本的erlang流程仿真NIFs什么将不被支持热门代码重装分布式erlang 随时支持我们: ak_2WESwy76
SIFT OpenCV实现源码
使用bof算法来提取图像特征,在corel数据集(10*100张图片)上实现以图搜图,即输入数据集中某一张图,在剩下的999张图里搜索最邻近的10张图。