遍历

Scala-2(Map与Tuple)

匿名 (未验证) 提交于 2019-12-03 00:26:01
Map:一键值对存在的一种数据结构,创建Map的时候默认长度是不可变的 package com . lyz import scala . collection .{ SortedMap , mutable } import scala . collection . mutable . Map /** * 类的注释 * * @Package com.lyz * @ClassName MapAndTuple * @Description ${TODO} * @Author liyuzhi * @Date 2018-06-08 19:08 */ object MapAndTuple { def main ( args : Array [ String ]): Unit = { //immutableMap //mutableMap hashMap } //可变的Map private def hashMap = { /** * 初始化HashMap */ val hashMap = new mutable . HashMap [ String , Int ]() hashMap . put ( "zhangsan" , 21 ) hashMap . put ( "lisi" , 22 ) hashMap . put ( "wangwu" , 23 ) hashMap . put (

4399AT工具功能介绍篇

匿名 (未验证) 提交于 2019-12-03 00:22:01
概要说明4399AT自动化工具功能,能对这个工具有初步了解~ 工具以appium进行二次改造,然后基于深度优先遍历的算法对测试app进行最大层次的遍历,遍历方式可指定全部,局部或者时间控制性的遍历; 采用Jason 格式方式配置,启动方式经过封装后,脚本编写、配置方便,可以说不用在学编码,只要有很简单基础知识就可; 根据布局的xpath来获取控件,脚本模式可采用PO模式,最大化的减少版本迭代UI的变化而进行维护的成本; 可支持单台或者多台测试设备; 支持导入账号文件,可支持不同设备登录不同账号; 支持新旧版本覆盖安装测试; 支持安装过程中,可添加配置安装文件,自动点掉安装过程中的任意弹窗提示,特别是适合多台不同厂商设备测试; 用例查找,点击,断言封装严谨,用例错误多次重试,提高用例执行成功率; API丰富,系统提示,app提示,支持黑名单,点击,长按,上滑/下滑,条件判断,文本输入等API; 遍历的覆盖率,统计方式可基于Activity及Fragment统计覆盖,最大化覆盖测试App; 测试报告,自动产生以设备型号的目录,存有截图,手动配置脚本步骤结果,错误的log等后续为html报告展示; 用例失败重跑,adb断开重连,控件获取不到重新获取等机制保证用例执行成功率 暂时未支持功能: 不支持webview的遍历; 不支持IOS系统; 支持的Android系统要大于17以上;

频繁项集挖掘之apriori和fp-growth

匿名 (未验证) 提交于 2019-12-03 00:22:01
要弄好这件事不仅需要有效减小搜索空间,而且对每个可能的搜索都必须快速完成。所以频繁项集挖掘在算法实践和编码实现上就要有非常强的技巧。我们就来深入学习apriori和fp-growth中的搜索方式和技巧。这两个算法很容易找到完整的步骤,这里会更注重里面一些精彩之处,但是可能书写不会那么规范,建议和完整算法对照来读。 算法过程如下: 输入:数据集D,支持度minsup 发现 1-项集 (D); c 可以通过一张截图来演示一下apriori的过程: 对应第一张图,连接步是从第k层的项集,向下扩展一层的候选项集,剪枝步能够通过apriori性质过滤掉那些肯定非频繁的项集。 剪枝步也需要对每个k-候选项集的k-1子集都进行一次检测,也很耗费时间;统计频繁次数是必须的,因此需要扫描数据库,经历I/O。那么有必要剪枝,直接统计会不会更好呢,虽然没有试验过,但我估计还是剪枝以后减少候选集的统计更划算。而这两个耗时的步骤在实现上如果能使用到技巧,对算法时间影响最直接。比如剪枝步中k-1候选项集需要逐一向已有的k-1频繁项集查询,这用什么数据结构最好?又如扫描数据库的时候是否能过进行一些压缩,相同的记录进行合并减少遍历次数,以及过滤掉对统计没用的记录? 面对apriori的问题,感觉Fp-growth突然间就冒出来了,它是一个挖掘方式和apriori完全不一样的算法

2018-06-01-list-arraylist

匿名 (未验证) 提交于 2019-12-03 00:22:01
2. 创建集合的常用格式在此说明一下: 导包:import java.util.ArrayList; 创建对象 :与其他普通的引用数据类型创建方式完全相同,但是要指定容器中存储的数据类型: ArrayList<要存储元素的数据类型>变量名 = new ArrayList<要存储元素的数据类型>(); 1、集合中存储的元素,只能为<>括号中指定的数据类型元素; 2、“< 要存储元素的数据类型 >”中的数据类型必须是 引用数据类型 ,不能是基本数据类型; 我们通过举几个例子,来明确集合的创建方式: 存储String类型的元素 ArrayList list = new ArrayList(); 存储int类型的数据 ArrayList list = new ArrayList(); 存储Phone类型的数据 ArrayListlist = new ArrayList(); 通过代码演示上述方法的使用:ArrayListDemo01.java package cn.javabs.list.demo; import java.util.ArrayList; public class ArrayListDemo01 { public static void main (String[] args) { // 创建ArrayList集合 ArrayList<String> list = new

找一个字符串中第一个只出现一次的字符(牛客网)

匿名 (未验证) 提交于 2019-12-03 00:22:01
思路:普通思路就是先看第一个元素,遍历字符串看看每个字符总共在字符串中出现的次数,但是这是一个时间复杂度O(N)的算法,牛客上面是肯定跑不过的,所以我们可以想到用什么东西可以达到记录字符出现次数时间复杂度有符合要求的呢? 哈希表 这里是一个字符串,每个字符的取值范围不可能超过256,我们可以直接将哈希表定义出来并且初始化为全0,然后对应字符的ASCII存放在字符串中出现的次数,后面就可以遍历哈希表来确定哪一个字符是字符串中只出现一次的,由于我们是根据str[i]来遍历就可以保证遍历的时候就是按照原字符串中字符出现的先后顺序来的,一旦遇到hashtable[str[i]]==1,就直接返回 #include <iostream> using namespace std ; #include <string> #include <assert.h> char FindFirst ( string str ){ assert ( str . size () > 0 ); int hashtable [ 256 ] = { 0 }; int i = 0 ; for ( i = 0 ; i < str . size (); i ++){ hashtable [ str [ i ]]++; } for ( i = 0 ; i < str . size (); i ++){ if (

JSP的c标签遍历Map数据

匿名 (未验证) 提交于 2019-12-03 00:22:01
Map可以实现较为丰富的数据封装。 第一种: 控制器传递到页面的map格式如下: Map < String , User > dataMap = new HashMap < String , User > (); dataMap . put( ... .. ); //封装数据过程 model . addAttribute( "dataMap" , dataMap); User可以为自定义对象 第二种: Map < String , List < User >> dataMap = new HashMap < String , List < User >> (); dataMap . put( ... .. ); //封装数据过程 model . addAttribute( "dataMap" , dataMap); 针对以上两种Map,jsp遍历时有一点区别 首先,第一种值为单个对象的Map的遍历 < div > < c:forEach items = "${dataMap}" var = "dataMap" > < c:set var = "mapKey" value = '${dataMap.key}' /> < c:set var = "user" value = '${dataMap.value}' /> < p > 用户名:{user.username} </ p > <

字典树遍历实现字符串敏感词替换

匿名 (未验证) 提交于 2019-12-03 00:21:02
何为字典树? 字典树(Trie树),又称前缀树,一种Hash树的变种,用于统计,排序和保存大量的 字符串,利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较 利用字典树对大段文字进行搜索,查找敏感词并进行打码替换 将敏感词词库以字符的形式保存到字典树中,例如敏感词词库中包含了“色情”、“赌博”、“暴力”,则需要生成这么一棵树: 其中根节点不对应任何字符,尾部节点进行标记,表示这是一个词的结尾。 删选敏感词时,对大段文字进行遍历,同时在字典树中进行查找匹配,找到文字中的敏感词并将敏感词替换为“***”符号,以下是详细代码 构造字典树 构造方案是构建一个Node类来表示各节点,Node的成员变量是一个保存有各子节点的Map,key为单个字符,value为子节点Node: //字典树节点,其中包含一个Map,该Map保存了所有子节点,key为节点对应的字符 private class TrieNode{ private boolean end = false; private Map<Character, TrieNode> subNodes = new HashMap<>(); private void addSubNode(Character key, TrieNode node){ subNodes.put(key, node); } private

com.alibaba.fastjson把JSONObject的一些操作

匿名 (未验证) 提交于 2019-12-03 00:21:02
JSONObject 转map遍历和直接JSONObject遍历 看JSONObject源码知: String jsonStr = "{\"size\":\"7.5\",\"width\":\"M (B)\"}"; System.out.println("无序遍历结果:"); JSONObject jsonObj = JSON.parseObject(jsonStr); for (Map.Entry<String, Object> entry : jsonObj.entrySet()) { System.out.println(entry.getKey() + ":" + entry.getValue()); } System.out.println("-------------------"); System.out.println("有序遍历结果:"); LinkedHashMap<String, String> jsonMap = JSON.parseObject(jsonStr, new TypeReference<LinkedHashMap<String, String>>() { }); for (Map.Entry<String, String> entry : jsonMap.entrySet()) { System.out.println(entry.getKey

js中遍历Map对象

匿名 (未验证) 提交于 2019-12-03 00:20:01
原文地址为: js中遍历Map对象 console.log(jsonData);//火狐控制台打印输出: Object { fileNumber="文件编号", fileName="文件名称"} for(var key in jsonData) console.log("属性:" + key + ",值:"+ jsonData[key]); } 打印输出: 属性:fileNumber, 值:文件编号 属性:fileName, 值:文件名称 转载请注明本文地址: js中遍历Map对象 文章来源: js中遍历Map对象