Java8_map新增方法】的更多相关文章

参考博客 https://irusist.github.io/2016/01/04/Java-8%E4%B9%8BMap%E6%96%B0%E5%A2%9E%E6%96%B9%E6%B3%95/#getOrDefault-%E6%96%B9%E6%B3%95 default方法 map.put(1, "a"); map.put(2, "b"); getOrDefault方法 如果指定的key存在,返回value,不存在,返回指定的值 System.out.pring…
json的新增方法: parse()   将JSON转换为字符串:必须是严格的JSON格式: 用法 : var s = {"name":"name"}; JSON.parse(s) stringigy()将字符串转换为JSON格式 用法:同上: parse()方法与eval()的区别: eval()可以解析任何数据:而parse()只能解析严格模式的JSON数据: 新增选择器: querySelector() 类似于JQ里面的$:但只能选择一组元素里面的第一个元素:…
模板字符串 模板字符串:我理解为将字符串格式化.模板化,将字符串加强处理,此处的模板有动词的意思. 字符串模板基本格式: `xxxxxx`(前后都用反引号[tab键上面按键]引起来).除了作为普通字符串 外:还可以用来定义多行字符串:也可以在字符串中插入变量和表达式,进行字符串内容扩充和计算. 1.普通字符串: let testStr = `ES6 TestDemo`; console.log(testStr); // ES6 TestDemo 2.普通字符串 添加标签.换行符: let tes…
//默认主键为自动识别,如果需要指定,可以设置属性: namespace app\index\model; use think\Model; class User extends Model { protected $pk = 'uid'; // 设置当前模型对应的完整数据表名称 protected $table = 'think_user'; } 使用助手函数model()快速实例化模型(推荐) public function save(){ $user = model('User'); //…
1.属性的简洁表示法 ES6允许直接写入变量和函数,作为对象的属性和方法.这样的书写更加简洁. const foo = 'bar'; const baz = {foo}; baz//{foo:'bar'} //等同于 const baz = {foo:foo} 上面代码表明,ES6允许在对象之中,直接写变量.这时,属性名为变量名,属性值为变量的值.下面是另一个例子. function f(x,y){ return {x,y} } //等同于 function f(x,y){ return {x:…
在Java 8中的Map.Entry接口中增加了comparingByKey, comparingByValue方法,它们都返回Comparator<Map.Entry<K,V>>, Comparator是一个函数接口,主要是方便Lambda表达式的使用. 在Java 8中的Map接口增加了一些default方法,提升了对key, value操作的便利性.下面是基本数据的定义,通过这些数据说明新增的一些方法. 1234 Map<Integer, String> map…
模板字符串 传统写法 var str = 'There are <b>' + basket.count + '</b> ' + 'items in your basket, ' + '<em>' + basket.onSale + '</em> are on sale!' ES6写法 let str = ` There are <b>${basket.count}</b> items in your basket, <em>…
1. Array.from() Array.from方法用于将两类对象转为真正的数组:类数组的对象( array-like object )和可遍历( iterable )的对象(包括 ES6 新增的数据结构 Set 和Map ). let arrayLike = { '0': 'a', '1': 'b', '2': 'c', length: 3 }; // ES5 的写法 var arr1 = [].slice.call(arrayLike); // ['a', 'b', 'c'] // ES…
1.Object.is() ES5 比较两个值是否相等,只有两个运算符:相等运算符(==)和严格相等运算符(===).它们都有缺点,前者会自动转换数据类型,后者的NaN不等于自身,以及+0等于-0.JavaScript 缺乏一种运算,在所有环境中,只要两个值是一样的,它们就应该相等. ES6 提出"Same-value equality"(同值相等)算法,用来解决这个问题.Object.is就是部署这个算法的新方法.它用来比较两个值是否严格相等,与严格比较运算符(===)的行为基本一致…
1.字符串的子串识别 传统上,Javascript 只有indexof 方法,用来确定一个字符串是否包含在另一个字符串中.如: //indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置. //如果要检索的字符串值没有出现,则该方法返回 -1. let a = 'abcde'; console.log(a.indexOf('cd')); //2 现在ES6 又提供了三种新方法.每个方法都可接收2个参数,需要检测的子字符串,以及开始匹配的索引位置. includes(str, i…
数组在各个编程语言中的重要性不言而喻,但是在之前的JavaScript中数组(JavaScript 数组详解)虽然功能已经很强大,但操作方法并不完善,在ECMAScript5中做了适当的补充. Array.isArray(element) 这是Array对象的一个静态函数,用来判断一个对象是不是数组 var a = new Array(123); var b = new Date(); console.log(Array.isArray(a)); //true console.log(Array…
history对象包含用户访问过的URL,属于window对象的一部分,传统的使用中,它拥有length属性(浏览器历史列表URL数目) 及back().forward().go()方法. 而新的H5则赋予了其更多的新特性: 往返缓存 默认情况下,浏览器会缓存当前会话页面,这样当下一个页面点击后退按钮,或前一个页面点击前进按钮,浏览器便会从缓存中提取并加载此页面,这个特性被称为“往返缓存”. 备注: 此缓存会保留页面数据.DOM和js状态,实际上是将整个页面完好无缺地保留 -----------…
数组在各个编程语言中的重要性不言而喻,但是在之前的JavaScript中数组虽然功能已经很强大,但操作方法并不完善,在ECMAScript5中做了适当的补充. Array.isArray(element) 这是Array对象的一个静态函数,用来判断一个对象是不是数组 ); var b = new Date(); console.log(Array.isArray(a)); //true console.log(Array.isArray(b)); //false .indexOf(element…
String.includes("xxx")   返回true/false     [es5的字符串查找方法:String.indexOf() ] String.startsWith("xxx")  判断字符串是否以 "xxx" 开头  返回 true/false String.endsWith("xxx")  判断字符串是否以 "xxx" 结尾  返回 true/false String.repeat(x…
1.FormCodePoint 对象方法 用于从 Unicode 码点返回对应字符,可以识别原来es5不能识别的大于0xFFFF的码点. String.fromCodePoint(0x20BB7) // "…
1.Object.is() ES5 比较两个值是否相等,只有两个运算符:相等运算符(==)和严格相等运算符(===).它们都有缺点,前者会自动转换数据类型,后者的NaN不等于自身,以及+0等于-0.JavaScript 缺乏一种运算,在所有环境中,只要两个值是一样的,它们就应该相等. ES6 提出“Same-value equality”(同值相等)算法,用来解决这个问题.Object.is就是部署这个算法的新方法.它用来比较两个值是否严格相等,与严格比较运算符(===)的行为基本一致. Obj…
我们在了解数据类型的时候,都知道一般的字符,数值,undefined和布尔值等都为一般数据类型,它们在进行数据传输的时候,进行的是值传递,当我们修改新数据,是不影响老数据的.但是我们今天要讲的是数据类型中的一种复杂数据,它的代表就是对象. // 一般数据的值拷贝 // 将a的值作为实参传入函数执行函数语句,虽然函数体内的参数发生了改变 // 却不会影响原数据的值 var a = 10 ; function fn(a){ a = 20; console.log(a); //20 } fn(a);…
ES6 提供三个新的方法——entries(),keys()和values()——用于遍历数组.它们都返回一个遍历器对象(详见<Iterator>一章),可以用for...of循环进行遍历,唯一的区别是keys()是对键名的遍历.values()是对键值的遍历,entries()是对键值对的遍历. for (let index of ['a', 'b'].keys()) { console.log(index); } // for (let elem of ['a', 'b'].values(…
1.Object.is() ES5 比较两个值是否相等,只有两个运算符:相等运算符(==)和严格相等运算符(===).它们都有缺点,前者会自动转换数据类型,后者的NaN不等于自身,以及+0等于-0. Object.is就是部署这个算法的新方法.它用来比较两个值是否严格相等,与严格比较运算符(===)的行为基本一致. Object.is('foo', 'foo') // true Object.is({}, {}) // false 不同之处只有两个:一是+0不等于-0,二是NaN等于自身. +0…
一.数组方法 迭代(遍历)方法:forEach().map().filter().some().every(): 1. array. forEach(function(value,index,arr){}) value:数组当前项的值 index:数组当前项的索引 arr:数组对象本身 2. array.filter(function(value,index,arr){}) filter()方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素,主要用于筛选数组 注意:直接返…
序言 在看别人的代码时发现一个方法String.join(),因为之前没有见过所以比较好奇. 跟踪源码发现源码很给力,居然有用法示例,以下是源码: /** * Returns a new String composed of copies of the * {@code CharSequence elements} joined together with a copy of * the specified {@code delimiter}. * //这是用法示例 * <blockquote>…
1.检测字符串中是否包含某个字符 ES5方法:string.indexOf("需要检测的字符"),如果返回值为-1,则说明当前字符串中不存在这个字符,返回值不为-1,则 是当前字符在字符串中第一次出现的位置 ES6方法:string.includes("需要检测的字符"), 如果返回true,说明包含这个字符,返回false说明不存在 例如:test("s"); // 返回true,字符串test中包含字符s 2.ES6检测字符串是否以某个字符开…
1.String.fromCodePoint() ES5 提供String.fromCharCode()方法,用于从 Unicode 码点返回对应字符,但是这个方法不能识别码点大于0xFFFF的字符. String.fromCharCode(0x20BB7) // "ஷ" 上面代码中,String.fromCharCode()不能识别大于0xFFFF的码点,所以0x20BB7就发生了溢出,最高位2被舍弃了,最后返回码点U+0BB7对应的字符,而不是码点U+20BB7对应的字符. ES6…
1.String.fromCodePoint(); String,fromCodePoint()方法可以认为是对String.fromCharCode()方法的扩展,这两个方法的共同点在于都是用于Unicode码点返回对应字符,但是差异在于String.fromCharCode()该方法不能识别大于0xFFFF的码点,ES6中提供了String.fromCodePoint()就很好的弥补了String.fromCharCode()的不足.它可以识别码点大于0xFFFF的对应字符. 上面是在chr…
1. Object.is() ES5 比较两个值是否相等,只有两个运算符:相等运算符(==)和严格相等运算符(===).它们都有缺点,前者会自动转换数据类型,后者的 NaN 不等于自身,以及 +0 等于 -0. Object.is() 是用来比较两个值是否严格相等,与严格比较运算符的行为基本一致.不同之处只有两个:+0 不等于 -0:NaN等于自身. Object.is('foo', 'foo') //true Object.is({}, {}) //false //与 === 的不同之处 +0…
1.forEach方法 迭代(遍历)数组 var arr = [1, 2, 3]; var sum = 0; arr.forEach(function (value, index, array) { console.log('当前数组元素' + value); console.log('当前数组元素的索引号' + index); console.log('数组本身' + array); sum += value; }) console.log(sum); 该方法和使用for循环遍历数组类似. 2…
关于数组中forEach() .map().filter().reduce().some().every()的总结 let arr = [1, 2, 3, 4, 5] // forEach遍历数组 arr.forEach((item,index,self)=>{ console.log(item*10) }) // map遍历数组,返回一个新数组 (用作统一修改数组项) let r1 = arr.map((item, index, self) => { return item * 10 })…
arr.forEach(function(item,index,arr){},this)  相当于普通的for循环,第一个回调参数,第二个this可以重定向[箭头函数则不生效] arr.map() 非常有用,做数据交互 配合return,返回一个新数组,没有return则相当于forEach(每一项则是undefined) 注意:平时只要用map,要有return 列如  [{title:"aaa"}]-->[{label:"aaa"}] arr.map((i…
Array.prototype.indexof(value):得到值在数组中的第一个下标 Array.prototype.lastIndexof(value):得到值在数组中的最后一个下标 Array.prototype.foreach(function(item,index){}):遍历数组 Array.prototype.map(function(item,index){}):遍历数组返回一个加工之后的数组,返回加工之后的值 Array.prototype.filter(function(i…
1.Array.from(): 这个函数的作用是将类似数组的对象转化为数组,比如DOM对象 let arrayLike = {      "0":"TangSir",      "1":28,      "2":"nanjing",      "3":"it",      length:4} es5:console.log([].slice.call(arrayLik…