element

Java实现树的遍历以及打印(递归,非递归)

烈酒焚心 提交于 2021-02-20 17:35:08
1 import java.util.LinkedList; 2 import java.util.Stack; 3 4 public class BinarySearchTree1<E extends Comparable <? super E>> { 5 6 private static class BinaryNode<E> { 7 8 E element; 9 BinaryNode<E> left; 10 BinaryNode<E> right; 11 12 BinaryNode(E theElement) { 13 this (theElement, null , null ); 14 } 15 16 BinaryNode(E theElement, BinaryNode<E> lt, BinaryNode<E> rt) { 17 element = theElement; 18 left = lt; 19 right = rt; 20 } 21 22 } 23 24 private BinaryNode<E> root; 25 public void insert(E x){ 26 root = insert(x,root); 27 } 28 29 private BinaryNode<E> insert(E x, BinaryNode<E> t){ 30 31 if

js学习笔记----JavaScript中DOM扩展的那些事

与世无争的帅哥 提交于 2021-02-20 04:20:53
什么都不说,先上总结的图~ Selectors API(选择符API) querySelector()方法 接收一个css选择符,返回与该模式匹配的第一个元素,如果没有找到匹配的元素,返回null. //取得 body 元素 var body = document.querySelector( "body"); //取得 ID 为"myDiv"的元素 var myDiv = document.querySelector( "#myDiv"); //取得类为"selected"的第一个元素 var selected = document.querySelector( ".selected"); //取得类为"button"的第一个图像元素 var img = document.body.querySelector( "img.button"); 通过Document类型调用querySelector()时,会在文档元素的范围内查找匹配的元素 通过Element类型调用querySelector()时,只会在该元素后代元素的范围内查找匹配的元素. 如果传入不被支持的css选择符,querySelector()会抛出错误. querySelectorAll()方法 querySelectorAll()参数也是一个CSS选择符,返回的是所匹配的元素而不是仅仅一个元素

ArrayList 源码分析

可紊 提交于 2021-02-20 01:02:23
ArrayList 是 Java 中非常常用的数据结构,其 底层基于 Object[] 数组实现 ,其特点是: 基于 Object[] 数组,查询快,可随机访问,可以动态增加容量,增加和删除慢,线程不安全 。 ArrayList 是线程不安全的,在多线程环境下推荐使用 CopyOnWriteArrayList 或者 Vector 。 下图显示的 ArrayList 的继承关系图: 实现 Cloneable 接口,覆写其 clone() 方法,实现数组元素的克隆; 实现 Serializable 接口,表示这可以 系列化传输 ; 实现 RandomAccess 接口,表示实现这个接口的 List 支持随机访问,也就是通过 index 序号快速获取元素; 继承 AbstractList ,AbstractList 是一个数组队列,提供了 添加、删除、修改、遍历 等功能; 1、ArrayList 核心代码 1.1、ArrayList 的构造方法 /** 默认初始容量 */ private static final int DEFAULT_CAPACITY = 10; /** 默认的空数组实例,用于初始化容量为零的数组 */ private static final Object[] EMPTY_ELEMENTDATA = {}; /** * 默认的空数组实例,用于初始化容量为零的数组 *

Bootstrap-Plugin:提示工具(Tooltip)插件

醉酒当歌 提交于 2021-02-19 04:33:30
ylbtech-Bootstrap-Plugin:提示工具(Tooltip)插件 1. 返回顶部 1、 Bootstrap 提示工具(Tooltip)插件 当您想要描述一个链接的时候,提示工具(Tooltip)就显得非常有用。提示工具(Tooltip)插件是受 Jason Frame 写的 jQuery.tipsy 的启发。提示工具(Tooltip)插件做了很多改进,例如不需要依赖图像,而是改用 CSS 实现动画效果,用 data 属性存储标题信息。 如果您想要单独引用该插件的功能,那么您需要引用 tooltip.js 。或者,正如 Bootstrap 插件概览 一章中所提到,您可以引用 bootstrap.js 或压缩版的 bootstrap.min.js 。 用法 提示工具(Tooltip)插件根据需求生成内容和标记,默认情况下是把提示工具(tooltip)放在它们的触发元素后面。您可以有以下两种方式添加提示工具(tooltip): 通过 data 属性 :如需添加一个提示工具(tooltip),只需向一个锚标签添加 data-toggle="tooltip" 即可。锚的 title 即为提示工具(tooltip)的文本。默认情况下,插件把提示工具(tooltip)设置在顶部。 < a href ="#" data-toggle ="tooltip" title =

用多线程优化Excel表格数据导入校验的接口

爱⌒轻易说出口 提交于 2021-02-18 05:35:28
公司的需求,当前某个Excel导入功能,流程是:读取Excel数据,传入后台校验每一条数据,判断是否符合导入要求,返回给前端,导入预览展示。(前端等待响应,难点)。用户再点击导入按钮,进行异步导入(前端不等待,好做)。当前接口仅支持300条数据,现在要求我要支持3000条数据。 解决问题,思路是关键。 首先,查看接口,找到读取表格的位置,看到判断,如果数据量大于300,直接返回。把300改成3000. 然后,分析导入数据校验,都是和哪些数据进行校验的,这些数据都是从数据库来的。每一次都从数据库查询,那肯定是慢的。就算是查询Redis缓存,也要有网络消耗,增加缓存的压力。虽然单机Redis有12万次/秒的查询性能,12万除以3000得40,如果这样玩,40个人使用就拖垮系统了。同一个数据,非要查3000次,那是不是傻???所以减少每一次的查询,把数据库查询都加上Redis缓存,把Redis缓存查到的数据,在方法中创建并发安全容器ConcurrentHashMap存储数据,避免重复的查询操作,只查一次直到方法调用结束。 Map<String, Object> map = new ConcurrentHashMap(); Object obj = map.get("key" ); if ( null == obj){ // 查询缓存,或者数据库 String value = "数据" ;

【爬虫】selenium动态页面请求与模拟登录知乎

懵懂的女人 提交于 2021-02-18 04:05:55
一。安装selenium pip install selenium 二。安装相应浏览器的Driver(selenium 文档) http://selenium-python.readthedocs.io/api.html 推荐使用Chrome 三。selenium的使用 1 # -*- coding: utf-8 -*- 2 3 from selenium import webdriver 4 from scrapy.selector import Selector 5 6 7 # 知乎的模拟登录 8 browser = webdriver.Chrome(executable_path= " E:/chromedriver.exe " ) # 路径是chromedriver.exe的存放的位置 9 browser.get( " https://www.zhihu.com/#signin " ) 10 browser.find_element_by_css_selector( " .view-signin input[name='account'] " ).send_keys( " ******** " ) # 帐号 11 browser.find_element_by_css_selector( " .view-signin input[name='password'] " )

鸿蒙和安卓,到底有什么区别?

浪子不回头ぞ 提交于 2021-02-18 01:54:15
来自: 程序员小枫 在 9 月 10 日召开的华为开发者大会上,宣布了鸿蒙2.0 系统正式面世,同时开启了 Beta 版本的测试和开源网站。 对于开发者来说两个最关键的点值得关注: 一个是 Beta 版的开发工具,一个是开源网站。 开源网站 在开发者大会上宣布将 HarmonyOS源代码捐赠给中国开放原子开源基金会,并在大会上公布了鸿蒙系统的开源路线。 OpenHarmony 官方源码地址: https: //openharmony.gitee.com/openharmony 开发工具 鸿蒙使用基于 Intellij IDEA 深度定制研发的 DevEco Studio 作为其开发工具。 DevEco Studio 下载地址: https: / /developer.harmonyos.com/cn /develop/deveco -studio 那么,在应用开发过程中,HarmonyOS(鸿蒙)和 Android(安卓)开发环境有什么不同呐? HarmonyOS 项目和 Android 项目对比 资源目录的变更 ①资源目录名称有更改 安卓 res 目录,这里用 resources 目录,它包括 base 和 rawfile 两部分,其中 base 是核心的资源目录,常用的都放在这里面,便于查找和使用。rawfile 会原封不动打包到生成的应用里面。 安卓是 res/values

Appium+python自动化8-Appium Python API

狂风中的少年 提交于 2021-02-18 00:02:25
前言: Appium Python API全集,不知道哪个大神整理的,这里贴出来分享给大家。 1.contexts contexts(self): Returns the contexts within the current session. 返回当前会话中的上下文,使用后可以识别H5页面的控件 :Usage: driver.contexts 用法 driver.contexts 2. current_context current_context(self): Returns the current context of the current session. 返回当前会话的当前上下文 :Usage: driver.current_context 用法driver. current_context 3. context context(self): Returns the current context of the current session. 返回当前会话的当前上下文。 :Usage: driver.context 用法driver. Context 4. find_element_by_ios_uiautomation find_element_by_ios_uiautomation(self, uia_string): Finds an element by

鸿蒙和安卓,到底有什么区别?

可紊 提交于 2021-02-17 18:36:40
程序员的成长之路 互联网/程序员/技术/资料共享 关注 阅读本文大概需要 3.5 分钟。 来自: 程序员小枫 在 9 月 10 日召开的华为开发者大会上,宣布了鸿蒙2.0 系统正式面世,同时开启了 Beta 版本的测试和开源网站。 对于开发者来说两个最关键的点值得关注: 一个是 Beta 版的开发工具,一个是开源网站。 开源网站 在开发者大会上宣布将 HarmonyOS源代码捐赠给中国开放原子开源基金会,并在大会上公布了鸿蒙系统的开源路线。 OpenHarmony 官方源码地址: https: //openharmony.gitee.com/openharmony 开发工具 鸿蒙使用基于 Intellij IDEA 深度定制研发的 DevEco Studio 作为其开发工具。 DevEco Studio 下载地址: https: / /developer.harmonyos.com/cn /develop/deveco -studio 那么,在应用开发过程中,HarmonyOS(鸿蒙)和 Android(安卓)开发环境有什么不同呐? HarmonyOS 项目和 Android 项目对比 资源目录的变更 ①资源目录名称有更改 安卓 res 目录,这里用 resources 目录,它包括 base 和 rawfile 两部分,其中 base 是核心的资源目录,常用的都放在这里面

鸿蒙和安卓,到底有什么区别?

帅比萌擦擦* 提交于 2021-02-17 17:06:03
点击“ 开发者技术前线 ”,选择“星标🔝” 让一部分开发者看到未来 在 9 月 10 日召开的华为开发者大会上,宣布了鸿蒙2.0 系统正式面世,同时开启了 Beta 版本的测试和开源网站。 对于开发者来说两个最关键的点值得关注: 一个是 Beta 版的开发工具,一个是开源网站。 开源网站 在开发者大会上宣布将 HarmonyOS源代码捐赠给中国开放原子开源基金会,并在大会上公布了鸿蒙系统的开源路线。 OpenHarmony 官方源码地址: https: //openharmony.gitee.com/openharmony 开发工具 鸿蒙使用基于 Intellij IDEA 深度定制研发的 DevEco Studio 作为其开发工具。 DevEco Studio 下载地址: https: / /developer.harmonyos.com/cn /develop/deveco -studio 那么,在应用开发过程中,HarmonyOS(鸿蒙)和 Android(安卓)开发环境有什么不同呐? HarmonyOS 项目和 Android 项目对比 资源目录的变更 ①资源目录名称有更改 安卓 res 目录,这里用 resources 目录,它包括 base 和 rawfile 两部分,其中 base 是核心的资源目录,常用的都放在这里面,便于查找和使用。rawfile