- 《java性能调优》2.Stream如何提高遍历集合效率
just_one_wk
java性能调优
在Java8中,Collection新增了两个流方法,分别是Stream()和parallelStream()。什么是Stream?在Java8之前,我们通常是通过for循环或者Iterator迭代来重新排序合并数据,又或者通过重新定义Collections.sorts的Comparator方法来实现,这两种方式对于大数据量系统来说,效率并不是很理想。Java8中添加了一个新的接口类Stream,
- List集合的迭代与Set集合的迭代(即遍历)
大地笨笨熊
list数据结构java
1List集合的迭代(即遍历)共三种方式1.1for循环特点:支持在遍历期间删除元素importjava.util.ArrayList;importjava.util.Iterator;importjava.util.List;importjava.util.Iterator;publicclassBianLi{publicstaticvoidmain(String[]args){Liste=ne
- 深入浅出C++ STL:统领STL全局
有梦想的电信狗
《C++语法精粹》——c++stl数据结构算法开发语言idevisualstudio
深入浅出C++STL:统领STL全局深入浅出C++STL:统领STL全局github主页地址前言一、STL的前世今生1.1什么是STL?1.2STL版本演进二、STL六大核心组件详解2.1容器(Containers)容器性能对照表2.2算法(Algorithms)2.3迭代器(Iterators)2.4仿函数(Functors)2.5适配器(Adapters)2.6空间配置器(Allocators
- # 本质剖析 为什么要使用HashSet
撒乎乎不撒
深入浅出聊点底层高效学习java数据结构
#本质剖析为什么要使用HashSet单列集合-HashSet特点一:去重与遍历支持数据去重,可以使用迭代器或foreach遍历数据。两种遍历方式的比较迭代器遍历通过调用实现了Iterable接口的Iteratoriterator();方法,从而获取迭代器对象,逐一访问元素。优点:支持在遍历过程中安全地删除元素,避免并发修改异常。适用场景:对集合进行删除操作时推荐使用。示例代码:Iteratorit
- 关于std::vector<std::string>的操作
android framework
c++和ndk开发c++算法开发语言
知识点1std::vectorstd::string作为返回参数voidGetConfigState(std::vectorstd::string&vtTemp)2对于std::vectorstd::string取值操作std::vectorstd::string::iteratortheIterator;for(theIterator=vtTemp.begin();theIterator!=vt
- 复制迭代器与toList,zip的使用方法
rylshe1314
scala
packagetest_28objectTest{defmain(args:Array[String]):Unit={vallist1=List(1,2,3,4,5)//任务:输出每一个元素//list.foreach(println)//任务:跳过前两个,从第三个开始输出//迭代器//1.创建一个迭代器(iterator)valit1=list1.iteratorprintln(it1.hasN
- STL:List模拟实现
Ghost__s
C++
原理:list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一个元素。优点:任意位置的插入删除效率很高(双向迭代)缺点:任意位置的随机访问效率很低list的使用#include#includevoidtest1(){std::listl1(3,10);std::list::iteratorit=l1.begin();//迭代器遍历while
- C++ 迭代器与常用算法
四代目 水门
C++学习笔记算法c++开发语言
C++迭代器与常用算法一、迭代器(Iterator)核心概念泛化指针,提供类似指针的操作(++,*,->)统一不同容器的访问方式,实现算法与容器的解耦分类(功能由弱到强):输入迭代器(只读)输出迭代器(只写)正向迭代器(单向遍历)双向迭代器(支持双向移动)随机访问迭代器(支持跳跃访问)关键特性cppvector::iteratorit;//随机访问迭代器list::iteratorlit;//双向
- 【设计模式】遍历集合的艺术:深入探索迭代器模式的无限可能
后端java设计模式
概述定义:提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。结构迭代器模式主要包含以下角色:抽象聚合(Aggregate)角色:定义存储、添加、删除聚合元素以及创建迭代器对象的接口。具体聚合(ConcreteAggregate)角色:实现抽象聚合类,返回一个具体迭代器的实例。抽象迭代器(Iterator)角色:定义访问和遍历聚合元素的接口,通常包含hasNext()、nex
- C++——list
回首o
c++开发语言
目录前言一、list1.1list的介绍1.2list的使用1.2.1list的构造1.2.2listiterator的使用1.2.3listcapacity1.2.4listelementaccess1.2.5listmodifiers1.2.6list的迭代器失效二、list的模拟实现2.1模拟实现list三、list与vector的对比总结前言今天我们来了解C++中STL库中的list,相当
- Java 常用命令总结(完)
羊不白丶
java开发语言后端
更新了版本,请移步Java常用命令总结持续更新中!!!目录基础输入保留几位小数Random数组SystemArraysHashMapHashSetStringStringBuilderArrayListDeque栈Queue队列PriorityQueue优先队列常用数学算法&&结论结论算法ScannerIntegerIterator迭代器MathComparator&&Comparable的使用其
- 【C++设计模式】第十六篇:迭代器模式(Iterator)
JuicyActiveGilbert
C++设计模式c++设计模式迭代器模式
注意:复现代码时,确保VS2022使用C++17/20标准以支持现代特性。遍历聚合对象的统一方式1.模式定义与用途核心思想迭代器模式:提供一种方法顺序访问聚合对象的元素,而无需暴露其内部表示。关键用途:1.统一遍历接口:为不同数据结构(如数组、链表、树)提供一致的遍历方式。2.支持多种遍历策略:前向、反向、条件过滤等。3.简化聚合类设计:将遍历逻辑从聚合类中分离。经典场景STL容器的迭代器(如st
- C++中erase函数的用法
电摇小人
#C++的各种算法及习题c++开发语言算法
在C++中,erase函数用于从容器中删除一个或一系列元素。它通常用于删除容器中的指定位置的元素或特定值的元素。erase函数通常有两种用法:删除指定位置的元素:erase(iteratorposition)这种用法会删除容器中迭代器position指向的元素。std::vectorv={1,2,3,4,5};autoit=v.begin()+2;v.erase(it);//删除v中第3个元素,即
- 【面经】CPP经典面试手撕{LRUCache、字典树、布隆过滤器}
阿猿收手吧!
面经面试职场和发展c++开发语言
文章目录LRUCache字典树布隆过滤器LRUCacheclassLRUCache{usingListIt=list>::iterator;list>_LRUlist;int_capacity;unordered_map_hashmap;public:LRUCache(intcapacity):_capacity(capacity){}intget(intkey){autoit=_hashmap.
- c++——typename关键字
却道天凉_好个秋
c++c++
介绍typename之前,应先了解几个概念:1.限定名与非限定名限定名,顾名思义,是限定了命名空间的名称。#includeintmain(){std::coutusingnamespacestd;intmain(){coutclassMyClass{inti;vectorvi;vector::iteratorvitr;Tt;//由于依赖于模板参数T,只有在模板实例化的时候才能知道他们的类型vect
- Scala中的迭代器
麻芝汤圆
Scalascalajvm开发语言
在Scala中,迭代器(Iterator)是一种用于遍历集合元素的抽象概念,它允许开发者逐个访问集合中的元素而不必一次性将整个集合加载到内存中。以下是对Scala迭代器的详细解释:1.迭代器的特点:延迟计算(LazyEvaluation):迭代器在访问元素时才计算它们,这意味着只有当你请求下一个元素时,迭代器才会计算它。这种延迟计算的特性使得迭代器非常适合处理大规模数据集。单次使用(SingleU
- 为什么 Map 不能直接使用 iterator()?深入理解 Java 中 Map 的遍历方式
今天你慧了码码码码码码码码码码
JavaSE基础java开发语言
在Java编程中,Map是一个非常重要的数据结构,用于存储键值对(Key-Value)。然而,很多初学者在使用Map时会遇到一个问题:为什么不能直接调用map.iterator()来遍历Map呢?这篇文章将深入探讨这个问题,并介绍Map的正确遍历方式。1.Map的结构与Collection的区别Map是Java中的一个接口,常见的实现类有HashMap、TreeMap等。它的特点是存储键值对,每个
- 集合类核心知识
guihong004
java开发语言
集合类目录1、Java集合框架是什么?说出集合框架的一些优点?2、集合接口的常见实现类3、List和Map区别?4、List、Map、Set三个接口,存取元素时,各有什么特点?5、为什么Map接口不继承Collection接口?6、Iterator和ListIterator之间有什么区别?7、集合框架中的泛型有什么优点?8、Map接口提供了哪些不同的集合视图?9、jdk1.7HashMap10、j
- 如何最简单、通俗地理解Python的迭代器
塞大花
Python学习笔记python开发语言迭代器迭代器模式iteratorpattern人工智能Python编程
编程中,迭代器是一个常见的工具,如果用非编程语言来描述,可以理解成迭代器就像一本书的书签,每次翻页都会记住你读到哪里,下一次继续从这个位置往下读,直到读完为止。在Python编程中,迭代器(Iterator)是一个很常见概念。很多初学者看到“迭代器”这个词,就会觉得它很复杂,其实它的核心思想非常简单,甚至可以用生活中的例子来直观理解:想象一下你在看一本书,但这本书的设计比较特别:你只能通过翻页来读
- Rust ~ Collect
~kiss~
rustrust
背景Transformsaniteratorintoacollection将一个迭代器转换为一个集合collect()可以处理任何可迭代的对象,并将其转换为相关的集合collect()最基本模式是将一个集合转换为另一个集合:先获取一个集合,对其调用iter方法,进行转换操作,最后调用collect()collect()还可以创建非典型集合类型的实例。可以从char构建一个String可以将由Res
- gradio创建openai前端对接deepseek等模型流式输出markdown格式文本
内卷焦虑人士
前端deepseekopenaigradiomarkdown
环境gradio==3.50.2openai==1.63.1代码importopenaiimportgradioasgr#导入gradio的包api_key="sk-**a8"api_base="https://api.deepseek.com/v1"importgradioasgrimportopenaifromtypingimportList,Any,Iteratorclient=openai
- C++深入学习笔记(19)—— 迭代器
慎铭
C++深入学习笔记c++容器开发语言
iterator头文件中,除了为每个容器所定义的迭代器外,标准库中还额外定义了其它的迭代器类型,如下。插入迭代器(insetiterator):该类迭代器被绑定到一个容器上,可用来向容器中插入元素。流迭代器(streamiterator):该类迭代器被绑定到输入或者输出流上,可以用来遍历有关联的IO流。反向迭代器(reverseiterator):这些迭代器向后移动而不是向前移动。除了forw
- 现代C++9-迭代器和好用的新for循环
程序员zhi路
C++就业体系课资料c++开发语言
我们已经讲过了容器。在使用容器的过程中,你也应该对迭代器(iterator)或多或少有了些了解。今天,我们就来系统地讲一下迭代器。什么是迭代器?迭代器是一个很通用的概念,并不是一个特定的类型。它实际上是一组对类型的要求([1])。它的最基本要求就是从一个端点出发,下一步、下一步地到达另一个端点。按照一般的中文习惯,也许“遍历”是比“迭代”更好的用词。我们可以遍历一个字符串的字符,遍历一个文件的内容
- C++Hash实现myunordered_map&set
TU^
C++哈希算法c++算法
文章目录一、框架分析二、模拟实现iterator实现思路分析三、代码实现四、总结一、框架分析GI-STL30版本源代码中没有unordered_map和unordered_set,SGI-STL30版本是C++11之前的STL版本,这两个容器是C++11之后才更新的。但是SGI-STL30实现了哈希表,只容器的名字是hash_map和hash_set,他是作为⾮标准的容器出现的,非标准是指非C++
- C# 进阶 (二)LINQ和Enumerable 类
yang_B621
C#进阶LINQ枚举器IteratorEnumerable
介绍LINQ之前先介绍一下枚举器Iterator:枚举器如果你正在创建一个表现和行为都类似于集合的类,允许类的用户使用foreach语句对集合中的成员进行枚举将会是很方便的。我们将以创建一个简单化的ListBox作为开始,它将包含一个8字符串的数组和一个整型,这个整型用于记录数组中已经添加了多少字符串。构造函数将对数组进行初始化并使用传递进来的参数填充它。//////Iterator:枚举器///
- Java集合设计模式面试题
夜游猿
Java开发工程师面试java设计模式开发语言
Java集合设计模式面试题迭代器模式Q1:Java集合框架中的迭代器模式是如何实现的?迭代器模式提供了一种统一的方式来访问集合中的元素,而不需要暴露集合的内部结构。publicclassIteratorPatternExample{//1.基本迭代器使用publicvoidbasicIteratorUsage(){Listlist=newArrayListiterator=list.iterato
- map的学习
liuyangzhou666
算法c++stl
#includeusingnamespacestd;#include#include//find()://erase()//size()//clear()voidprintmis(map&a){map::iteratorit=a.begin();while(it!=a.end()){coutm;//插入://insert(pair(a,b)m.insert(pair(1,"a"));//inser
- es6 生成器 generator
bdawn
generatorjs生成器yieldes6
es6generator生成器定义生成器是用于生产生成器对象的特殊函数生成器对象现了迭代器接口iterator,生成器对象也是一个迭代器,通过next()函数分步执行生成器函数内的代码//定义一个生成器,在普通函数的function后面加一个'*',就成为生成器了function*mGenerator(){}//或者下面写法letmGenerator=function*(){}必须是functio
- std::string基本功能和操作的实现
吃芒果吗你
c++
类的成员变量classstring{public:typedefchar*iterator;typedefconstchar*const_iterator;private:char*_str;size_t_size;size_t_capacity;staticconstsize_tnpos;//可以初始化,只针对整型,double等类型不行//staticconstsize_tnpos=-1;};
- 常用标准库之-std::reduce与std::execution::par
HL_LOVE_C
C/C++算法开发语言c++标准库C++17
1.std::reduce定义与头文件std::reduce是C++17引入的并行算法,定义在头文件中,用于对指定范围内的元素进行归约操作(如求和、求积等)。函数原型templatetypenamestd::iterator_traits::value_typereduce(ExecutionPolicy&&policy,ForwardItfirst,ForwardItlast);template
- 继之前的线程循环加到窗口中运行
3213213333332132
javathreadJFrameJPanel
之前写了有关java线程的循环执行和结束,因为想制作成exe文件,想把执行的效果加到窗口上,所以就结合了JFrame和JPanel写了这个程序,这里直接贴出代码,在窗口上运行的效果下面有附图。
package thread;
import java.awt.Graphics;
import java.text.SimpleDateFormat;
import java.util
- linux 常用命令
BlueSkator
linux命令
1.grep
相信这个命令可以说是大家最常用的命令之一了。尤其是查询生产环境的日志,这个命令绝对是必不可少的。
但之前总是习惯于使用 (grep -n 关键字 文件名 )查出关键字以及该关键字所在的行数,然后再用 (sed -n '100,200p' 文件名),去查出该关键字之后的日志内容。
但其实还有更简便的办法,就是用(grep -B n、-A n、-C n 关键
- php heredoc原文档和nowdoc语法
dcj3sjt126com
PHPheredocnowdoc
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Current To-Do List</title>
</head>
<body>
<?
- overflow的属性
周华华
JavaScript
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml&q
- 《我所了解的Java》——总体目录
g21121
java
准备用一年左右时间写一个系列的文章《我所了解的Java》,目录及内容会不断完善及调整。
在编写相关内容时难免出现笔误、代码无法执行、名词理解错误等,请大家及时指出,我会第一时间更正。
&n
- [简单]docx4j常用方法小结
53873039oycg
docx
本代码基于docx4j-3.2.0,在office word 2007上测试通过。代码如下:
import java.io.File;
import java.io.FileInputStream;
import ja
- Spring配置学习
云端月影
spring配置
首先来看一个标准的Spring配置文件 applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi=&q
- Java新手入门的30个基本概念三
aijuans
java新手java 入门
17.Java中的每一个类都是从Object类扩展而来的。 18.object类中的equal和toString方法。 equal用于测试一个对象是否同另一个对象相等。 toString返回一个代表该对象的字符串,几乎每一个类都会重载该方法,以便返回当前状态的正确表示.(toString 方法是一个很重要的方法) 19.通用编程:任何类类型的所有值都可以同object类性的变量来代替。
- 《2008 IBM Rational 软件开发高峰论坛会议》小记
antonyup_2006
软件测试敏捷开发项目管理IBM活动
我一直想写些总结,用于交流和备忘,然都没提笔,今以一篇参加活动的感受小记开个头,呵呵!
其实参加《2008 IBM Rational 软件开发高峰论坛会议》是9月4号,那天刚好调休.但接着项目颇为忙,所以今天在中秋佳节的假期里整理了下.
参加这次活动是一个朋友给的一个邀请书,才知道有这样的一个活动,虽然现在项目暂时没用到IBM的解决方案,但觉的参与这样一个活动可以拓宽下视野和相关知识.
- PL/SQL的过程编程,异常,声明变量,PL/SQL块
百合不是茶
PL/SQL的过程编程异常PL/SQL块声明变量
PL/SQL;
过程;
符号;
变量;
PL/SQL块;
输出;
异常;
PL/SQL 是过程语言(Procedural Language)与结构化查询语言(SQL)结合而成的编程语言PL/SQL 是对 SQL 的扩展,sql的执行时每次都要写操作
- Mockito(三)--完整功能介绍
bijian1013
持续集成mockito单元测试
mockito官网:http://code.google.com/p/mockito/,打开documentation可以看到官方最新的文档资料。
一.使用mockito验证行为
//首先要import Mockito
import static org.mockito.Mockito.*;
//mo
- 精通Oracle10编程SQL(8)使用复合数据类型
bijian1013
oracle数据库plsql
/*
*使用复合数据类型
*/
--PL/SQL记录
--定义PL/SQL记录
--自定义PL/SQL记录
DECLARE
TYPE emp_record_type IS RECORD(
name emp.ename%TYPE,
salary emp.sal%TYPE,
dno emp.deptno%TYPE
);
emp_
- 【Linux常用命令一】grep命令
bit1129
Linux常用命令
grep命令格式
grep [option] pattern [file-list]
grep命令用于在指定的文件(一个或者多个,file-list)中查找包含模式串(pattern)的行,[option]用于控制grep命令的查找方式。
pattern可以是普通字符串,也可以是正则表达式,当查找的字符串包含正则表达式字符或者特
- mybatis3入门学习笔记
白糖_
sqlibatisqqjdbc配置管理
MyBatis 的前身就是iBatis,是一个数据持久层(ORM)框架。 MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。MyBatis对JDBC进行了一次很浅的封装。
以前也学过iBatis,因为MyBatis是iBatis的升级版本,最初以为改动应该不大,实际结果是MyBatis对配置文件进行了一些大的改动,使整个框架更加方便人性化。
- Linux 命令神器:lsof 入门
ronin47
lsof
lsof是系统管理/安全的尤伯工具。我大多数时候用它来从系统获得与网络连接相关的信息,但那只是这个强大而又鲜为人知的应用的第一步。将这个工具称之为lsof真实名副其实,因为它是指“列出打开文件(lists openfiles)”。而有一点要切记,在Unix中一切(包括网络套接口)都是文件。
有趣的是,lsof也是有着最多
- java实现两个大数相加,可能存在溢出。
bylijinnan
java实现
import java.math.BigInteger;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class BigIntegerAddition {
/**
* 题目:java实现两个大数相加,可能存在溢出。
* 如123456789 + 987654321
- Kettle学习资料分享,附大神用Kettle的一套流程完成对整个数据库迁移方法
Kai_Ge
Kettle
Kettle学习资料分享
Kettle 3.2 使用说明书
目录
概述..........................................................................................................................................7
1.Kettle 资源库管
- [货币与金融]钢之炼金术士
comsci
金融
自古以来,都有一些人在从事炼金术的工作.........但是很少有成功的
那么随着人类在理论物理和工程物理上面取得的一些突破性进展......
炼金术这个古老
- Toast原来也可以多样化
dai_lm
androidtoast
Style 1: 默认
Toast def = Toast.makeText(this, "default", Toast.LENGTH_SHORT);
def.show();
Style 2: 顶部显示
Toast top = Toast.makeText(this, "top", Toast.LENGTH_SHORT);
t
- java数据计算的几种解决方法3
datamachine
javahadoopibatisr-languer
4、iBatis
简单敏捷因此强大的数据计算层。和Hibernate不同,它鼓励写SQL,所以学习成本最低。同时它用最小的代价实现了计算脚本和JAVA代码的解耦,只用20%的代价就实现了hibernate 80%的功能,没实现的20%是计算脚本和数据库的解耦。
复杂计算环境是它的弱项,比如:分布式计算、复杂计算、非数据
- 向网页中插入透明Flash的方法和技巧
dcj3sjt126com
htmlWebFlash
将
Flash 作品插入网页的时候,我们有时候会需要将它设为透明,有时候我们需要在Flash的背面插入一些漂亮的图片,搭配出漂亮的效果……下面我们介绍一些将Flash插入网页中的一些透明的设置技巧。
一、Swf透明、无坐标控制 首先教大家最简单的插入Flash的代码,透明,无坐标控制: 注意wmode="transparent"是控制Flash是否透明
- ios UICollectionView的使用
dcj3sjt126com
UICollectionView的使用有两种方法,一种是继承UICollectionViewController,这个Controller会自带一个UICollectionView;另外一种是作为一个视图放在普通的UIViewController里面。
个人更喜欢第二种。下面采用第二种方式简单介绍一下UICollectionView的使用。
1.UIViewController实现委托,代码如
- Eos平台java公共逻辑
蕃薯耀
Eos平台java公共逻辑Eos平台java公共逻辑
Eos平台java公共逻辑
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年6月1日 17:20:4
- SpringMVC4零配置--Web上下文配置【MvcConfig】
hanqunfeng
springmvc4
与SpringSecurity的配置类似,spring同样为我们提供了一个实现类WebMvcConfigurationSupport和一个注解@EnableWebMvc以帮助我们减少bean的声明。
applicationContext-MvcConfig.xml
<!-- 启用注解,并定义组件查找规则 ,mvc层只负责扫描@Controller -->
<
- 解决ie和其他浏览器poi下载excel文件名乱码
jackyrong
Excel
使用poi,做传统的excel导出,然后想在浏览器中,让用户选择另存为,保存用户下载的xls文件,这个时候,可能的是在ie下出现乱码(ie,9,10,11),但在firefox,chrome下没乱码,
因此必须综合判断,编写一个工具类:
/**
*
* @Title: pro
- 挥洒泪水的青春
lampcy
编程生活程序员
2015年2月28日,我辞职了,离开了相处一年的触控,转过身--挥洒掉泪水,毅然来到了兄弟连,背负着许多的不解、质疑——”你一个零基础、脑子又不聪明的人,还敢跨行业,选择Unity3D?“,”真是不自量力••••••“,”真是初生牛犊不怕虎•••••“,••••••我只是淡淡一笑,拎着行李----坐上了通向挥洒泪水的青春之地——兄弟连!
这就是我青春的分割线,不后悔,只会去用泪水浇灌——已经来到
- 稳增长之中国股市两点意见-----严控做空,建立涨跌停版停牌重组机制
nannan408
对于股市,我们国家的监管还是有点拼的,但始终拼不过飞流直下的恐慌,为什么呢?
笔者首先支持股市的监管。对于股市越管越荡的现象,笔者认为首先是做空力量超过了股市自身的升力,并且对于跌停停牌重组的快速反应还没建立好,上市公司对于股价下跌没有很好的利好支撑。
我们来看美国和香港是怎么应对股灾的。美国是靠禁止重要股票做空,在
- 动态设置iframe高度(iframe高度自适应)
Rainbow702
JavaScriptiframecontentDocument高度自适应局部刷新
如果需要对画面中的部分区域作局部刷新,大家可能都会想到使用ajax。
但有些情况下,须使用在页面中嵌入一个iframe来作局部刷新。
对于使用iframe的情况,发现有一个问题,就是iframe中的页面的高度可能会很高,但是外面页面并不会被iframe内部页面给撑开,如下面的结构:
<div id="content">
<div id=&quo
- 用Rapael做图表
tntxia
rap
function drawReport(paper,attr,data){
var width = attr.width;
var height = attr.height;
var max = 0;
&nbs
- HTML5 bootstrap2网页兼容(支持IE10以下)
xiaoluode
html5bootstrap
<!DOCTYPE html>
<html>
<head lang="zh-CN">
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">