当前位置: 首页 > news >正文

网站开发背景和目的站长之家最新网站

网站开发背景和目的,站长之家最新网站,南昌做微信网站,在哪里查关键词排名双列集合 单列集合的特点#xff1a;一次添加一个。 双列集合的特点#xff1a;一次添加一对/键值对/键值对对象/Entry。 左键#xff08;不可重复#xff09;右值#xff08;可重复#xff09;#xff0c;一一对应。 Map是双列集合的顶层接口#xff0c;他的功能是…双列集合 单列集合的特点一次添加一个。 双列集合的特点一次添加一对/键值对/键值对对象/Entry。 左键不可重复右值可重复一一对应。 Map是双列集合的顶层接口他的功能是全部双列集合都可以继承使用的。 //简单代码例子 import java.util.HashMap; import java.util.Map;public class jaa {public static void main(String[] args) {//创建Map集合对象MapString,Stringmnew HashMap();//添加:put方法//键已经存在覆盖原有的m.put(lisa,女);m.put(bob,男);m.put(lisa,男);System.out.println(m);//删除m.remove(lisa);System.out.println(m);//清空m.clear();System.out.println(m);//是否包含boolean rm.containsKey(bob);boolean vm.containsValue(男);System.out.println(r);System.out.println(m);//是否空boolean ism.isEmpty();System.out.println(is);//长度int sizem.size();System.out.println(size);} } HashMap 特点是Map里面的一个类直接用map里的方法。无序不重复无索引。哈希表结构利用键计算哈希值依赖hashCode和equals方法保证键的唯一。 //例子 import java.util.HashMap; import java.util.HashSet; import java.util.Set;public class Main {public static void main(String[] args) {//存学生对象//名和岁数一样认为是一个学生HashMapstudent,Stringhmnew HashMap();student s1new student(zhangsan,23);student s2new student(lisi,24);student s3new student(wangwu,25);student s4new student(wangwu,25);hm.put(s1,江苏);hm.put(s2,浙江);hm.put(s3,福建);hm.put(s4,山东);Setstudent keyshm.keySet();for(student key:keys){String valuehm.get(key);System.out.println(keyvalue);}} } import java.util.Objects;class student {private String name;private int age;public student(String name, int age) {this.name name;this.age age;}Overridepublic boolean equals(Object o) {if (this o) return true;if (o null || getClass() ! o.getClass()) return false;student student (student) o;return age student.age Objects.equals(name, student.name);}Overridepublic int hashCode() {return Objects.hash(name, age);}Overridepublic String toString() {return student{ name name \ , age age };} } LinkedHashMap 有序存储和取出元素顺序一致不重复无索引。哈希表结构只是每个键值对元素又额外多了一个双链表的机制记录存储的顺序。 import java.util.*;public class Main {public static void main(String[] args) {LinkedHashMapString,Integer lhmnew LinkedHashMap();lhm.put(a,1);lhm.put(a,1);lhm.put(b,2);lhm.put(c,3);System.out.println(lhm);} } TreeMap 底层和TreeSet一样都是红黑树结构。 由键决定不重复无索引可排序对键。 默认按照键的从小到大进行排序也可以自己规定键的排序规则。 实现Comparable接口指定比较规则。 创建集合时传递Comparator比较器对象指定比较规则。 //默认排序键的升序//Integer,Double默认升序 //String默认字母ASCII码升序 import java.util.*;public class Main {public static void main(String[] args) {TreeMapInteger,String tmnew TreeMap();tm.put(4,ke);tm.put(1,vn);tm.put(2,jsidj);tm.put(3,jd);System.out.println(tm);} } //降序 import java.util.*;public class Main {public static void main(String[] args) {TreeMapInteger,String tmnew TreeMap(new ComparatorInteger() {Overridepublic int compare(Integer o1, Integer o2) {return o2-o1;}});tm.put(4,ke);tm.put(1,vn);tm.put(2,jsidj);tm.put(3,jd);System.out.println(tm);} } 可变参数 import java.util.*;public class Main {public static void main(String[] args) {//求和2个数加3个数加4个数加n个数加//可变参数//格式属性类型...名字//int...argsint sumgetSum(1,2,3,4,6,7,8);System.out.println(sum);}public static int getSum(int...args){int sum0;for(int i:args){sumsumi;}return sum;} } 集合工具类Collections 1.批量添加方法 2.打乱方法 import java.util.*;public class Main {public static void main(String[] args) {ArrayListStringlistnew ArrayList();Collections.addAll(list,ab,f,dvs,ds,dcs,dw);//批量添加System.out.println(list);//打印Collections.shuffle(list);//打乱System.out.println(list);} } 创建不可变集合 不可变集合不可改一经创建长度不变内容不变。 更加安全。 of方法创建不可变集合 List直接用Set元素不能重复Map不能重复且键值对最多10个超过了ofEntries方法。 Stream流 一般结合lambda表达式简化操作。 得到流放数据中间方法和终结方法。 流流水线 流的获取如下代码 import javax.sql.rowset.serial.SerialStruct; import java.util.*; import java.util.function.Consumer; import java.util.stream.Stream;public class Main {public static void main(String[] args) {//1.单列集合获取stream流ArrayListString listnew ArrayList();Collections.addAll(list,a,b,c,d); // StreamString stream1list.stream(); // stream1.forEach(new ConsumerString() { // Override // public void accept(String s) { // System.out.println(s); // } // });或者list.stream().forEach(s- System.out.println(s));//2.双列集合无法直接使用Stream//第一种方法HashMapString,Integer hmnew HashMap();hm.put(a,12);hm.put(b,124);hm.put(c,13);hm.keySet().stream().forEach(s- System.out.println(s));//第二种方法hm.entrySet().stream().forEach(s- System.out.println(s));//3.数组获取streamint arr[]{1,2,3,4,5,6,7};Arrays.stream(arr).forEach(s- System.out.println(s));String arr1[]{ds,d,w};Arrays.stream(arr1).forEach(s- System.out.println(s));//4.零散数据获取stream流同数据类型//可以传递数组但必须是引用数据类型Stream.of(1,2,3,4,5).forEach(s- System.out.println(s));Stream.of(a,d,s).forEach(s- System.out.println(s));} } Stream流的中间方法如下 import javax.sql.rowset.serial.SerialStruct; import java.util.*; import java.util.function.Consumer; import java.util.function.Function; import java.util.function.Predicate; import java.util.stream.Stream;public class Main {public static void main(String[] args) {ArrayListStringlistnew ArrayList();Collections.addAll(list,张丽丽,李四,张浩,李四);//1.过滤 // list.stream().filter(new PredicateString() { // Override // public boolean test(String s) { // return s.startsWith(张); // } // }).forEach(s- System.out.println(s));或者这么写list.stream().filter(s-s.startsWith(张)).forEach(s- System.out.println(s));//2.获取前几个元素list.stream().limit(2).forEach(s- System.out.println(s));//3.跳过前面几个元素list.stream().limit(2).skip(1).forEach(s- System.out.println(s));//4.去重list.stream().distinct().forEach(s- System.out.println(s));//5.合并a,b俩流ArrayListStringlist1new ArrayList();Collections.addAll(list1,张丽丽,李四,张浩,李四);ArrayListStringlist2new ArrayList();Collections.addAll(list2,张丽丽);Stream.concat(list1.stream(),list2.stream()).forEach(s- System.out.println(s));//6.转换流的数据类型ArrayListStringlist3new ArrayList();Collections.addAll(list3,张丽丽-11,李四-14,张浩-17,李四-14); // list3.stream().map(new FunctionString, Integer() { // public Integer apply(String s){ // String[]arrs.split(-); // String ageStringarr[1]; // int ageInteger.parseInt(ageString); // return age; // } // }).forEach(s- System.out.println(s));或者list3.stream().map(s-Integer.parseInt(s.split(-)[1])).forEach(s- System.out.println(s));} } 流的终结方法如下 import javax.sql.rowset.serial.SerialStruct; import java.util.*; import java.util.function.Consumer; import java.util.function.Function; import java.util.function.IntFunction; import java.util.function.Predicate; import java.util.stream.Stream;public class Main {public static void main(String[] args) {ArrayListStringlistnew ArrayList();Collections.addAll(list,a,d,f,s);//遍历list.stream().forEach(s- System.out.println(s));//统计long countlist.stream().count();System.out.println(count);//收集 // Object[]arrlist.stream().toArray(); // System.out.println(Arrays.toString(arr));或者// list.stream().toArray(new IntFunctionString[]() { // Override // public String[] apply(int value) { // return new String[value]; // } // }); // System.out.println(Arrays.toString(arr));再或者String[] arr2list.stream().toArray(value -new String[value]);System.out.println(Arrays.toString(arr2));} } 收集方法collect import javax.sql.rowset.serial.SerialStruct; import java.lang.reflect.Array; import java.util.*; import java.util.function.Consumer; import java.util.function.Function; import java.util.function.IntFunction; import java.util.function.Predicate; import java.util.stream.Collectors; import java.util.stream.Stream;public class Main {public static void main(String[] args) {ArrayListString listnew ArrayList();Collections.addAll(list,张无忌-男-15,周芷若-女-14,张强-男-20,赵敏-女-13);//1.收集到list//男ListStringnewlistlist.stream().filter(s-男.equals(s.split(-)[1])).collect(Collectors.toList());System.out.println(newlist);//2.收集到Set//男ArrayListString list33new ArrayList();Collections.addAll(list33,张无忌-男-15,周芷若-女-14,张强-男-20,赵敏-女-13,张强-男-20);SetStringnewlist2list33.stream().filter(s-男.equals(s.split(-)[1])).collect(Collectors.toSet());System.out.println(newlist2);//3.收集到Map//男//键值//键不可以重复 // MapString,Integermaplist.stream().filter(s-男.equals(s.split(-)[1])).collect(Collectors.toMap(new FunctionString, String() { // Override // public String apply(String s) { // return s.split(-)[0]; // } // },//前面是键后面是值。 // new FunctionString, Integer() { // Override // public Integer apply(String s) { // return Integer.parseInt(s.split(-)[2]); // } // }));//或者这么写MapString,Integermaplist.stream().filter(s-男.equals(s.split(-)[1])).collect(Collectors.toMap(s-s.split(-)[0],s-Integer.parseInt(s.split(-)[2])));System.out.println(map);} } 小结 1.Stream流的作用结合了Lambda表达式简化集合数组的操作。 2.Stream流的使用步骤获取stream流对象使用中间方法处理数据使用终结方法处理数据。 3.如何获取流单列集合默认双列不能直接获取数组Arrays零散数据of。 4.常见方法 中间filter,limit,skip,distinct,concat,map 终结forEach,count,collect 方法引用 把已经有的方法拿过来用当作函数式接口中抽象方法的方法体。 import javax.sql.rowset.serial.SerialStruct; import java.lang.reflect.Array; import java.util.*; import java.util.function.Consumer; import java.util.function.Function; import java.util.function.IntFunction; import java.util.function.Predicate; import java.util.stream.Collectors; import java.util.stream.Stream;public class Main {public static void main(String[] args) {//数组倒序Integer[]arr{1,2,4,6,7};//1.匿名内部类Arrays.sort(arr, new ComparatorInteger() {Overridepublic int compare(Integer o1, Integer o2) {return o2-o1;}});System.out.println(Arrays.toString(arr));//2.lambbda表达式Arrays.sort(arr,(Integer o1, Integer o2)-{returno2-o1;});System.out.println(Arrays.toString(arr));//简化Arrays.sort(arr,(o1, o2)- o2-o1);System.out.println(Arrays.toString(arr));//3.方法引用//引用出必须是函数式接口//被引用的方法需要已经存在//被引用方法的形参和返回值需要跟抽象方法的形参和返回值一致//被引用方法的功能需要满足当前的要求Arrays.sort(arr,Main::subtraction);System.out.println(Arrays.toString(arr));}public static int subtraction(int num1,int num2){return num2-num1;} } 方法引用符 方法引用分类 1.引用静态方法类名::静态方法 import javax.sql.rowset.serial.SerialStruct; import java.lang.reflect.Array; import java.util.*; import java.util.function.Consumer; import java.util.function.Function; import java.util.function.IntFunction; import java.util.function.Predicate; import java.util.stream.Collectors; import java.util.stream.Stream;public class Main {public static void main(String[] args) {ArrayListStringlistnew ArrayList();Collections.addAll(list,1,2,3);//转化成int//1.常规方式ArrayListIntegerlist2new ArrayList();for (String s : list) {int iInteger.parseInt(s);list2.add(i);}//2.list.stream().map(new FunctionString, Integer() {Overridepublic Integer apply(String s) {int i Integer.parseInt(s);return i;}}).forEach(s- System.out.println(s));//简化//1.方法已经存在//2.形参和返回值和抽象方法的形参返回值一致//3.方法的功能需要把形参的字符串转化成整数list.stream().map(Integer::parseInt).forEach(s- System.out.println(s));} } 2.引用成员方法对象this,super,其他类::成员方法 import javax.sql.rowset.serial.SerialStruct; import java.lang.reflect.Array; import java.util.*; import java.util.function.Consumer; import java.util.function.Function; import java.util.function.IntFunction; import java.util.function.Predicate; import java.util.stream.Collectors; import java.util.stream.Stream;public class Main {public static void main(String[] args) {ArrayListStringlistnew ArrayList();Collections.addAll(list,张五级,里的,多多,的的);//张开头三个字list.stream().filter(s-s.startsWith(张)).filter(s-s.length()3).forEach(s- System.out.println(s));//匿名内部类list.stream().filter(new PredicateString() {Overridepublic boolean test(String s) {return s.startsWith(张)s.length()3;}}).forEach(s- System.out.println(s));//改成方法引用list.stream().filter(new Main()::stringjudge).forEach(s- System.out.println(s));}public boolean stringjudge(String s){return s.startsWith(张)s.length()3;} } 3.引用构造方法类名::new import javax.sql.rowset.serial.SerialStruct; import java.lang.reflect.Array; import java.util.*; import java.util.function.Consumer; import java.util.function.Function; import java.util.function.IntFunction; import java.util.function.Predicate; import java.util.stream.Collectors; import java.util.stream.Stream;public class Main {public static void main(String[] args) {ArrayListStringlistnew ArrayList();Collections.addAll(list,张无极,15,周芷若,14,张强,20);ListStudent newlist list.stream().map(new FunctionString, Student() {Overridepublic Student apply(String s) {String[] arr s.split(,);String name arr[0];int age Integer.parseInt(arr[1]);return new Student(name, age);}}).collect(Collectors.toList());System.out.println(newlist);//或者ListStudent newlist2 list.stream().map(Student::new).collect(Collectors.toList());System.out.println(newlist2);} } public class Student {private String name;private int age;public Student(){}public Student(String str){String[]arrstr.split(,);this.namearr[0];this.ageInteger.parseInt(arr[1]);}public Student(String name,int age){this.namename;this.ageage;}public int getAge() {return age;}public void setAge(int age) {this.age age;}public String getName() {return name;}public void setName(String name) {this.name name;}public String toString(){return Student{namename,ageage};} }4.类名引用成员方法 import javax.sql.rowset.serial.SerialStruct; import java.lang.reflect.Array; import java.util.*; import java.util.function.Consumer; import java.util.function.Function; import java.util.function.IntFunction; import java.util.function.Predicate; import java.util.stream.Collectors; import java.util.stream.Stream;public class Main { //变大写public static void main(String[] args) {ArrayListStringlistnew ArrayList();Collections.addAll(list,aaa,bbb,ccc);list.stream().map(String::toUpperCase).forEach(s- System.out.println(s));} } 5.引用数组的构造方法 import javax.sql.rowset.serial.SerialStruct; import java.lang.reflect.Array; import java.util.*; import java.util.function.Consumer; import java.util.function.Function; import java.util.function.IntFunction; import java.util.function.Predicate; import java.util.stream.Collectors; import java.util.stream.Stream;public class Main {public static void main(String[] args) {ArrayListIntegerlistnew ArrayList();Collections.addAll(list,1,2,3,4,5,6); // Integer[] arr list.stream().toArray(new IntFunctionInteger[]() { // Override // public Integer[] apply(int value) { // return new Integer[value]; // } // });//改成方法引用Integer[] arr list.stream().toArray(Integer[]::new);System.out.println(Arrays.toString(arr));} } 学不明白回头再写。
http://www.hkea.cn/news/14407948/

相关文章:

  • 番禺网站建设外包湖南茶叶网站建设
  • 宁波自适应网站建设特点100条经典广告语
  • 曹县有没有做网站西安短视频代运营
  • 采招网招标官网广州百度快速优化排名
  • 做推广的网站谷歌seo代运营
  • 长锦船公司网站魔方优化大师官网
  • 天津网站建设 企航互联手机号码网站建设
  • 茶叶市场网站建设方案电商网站模板免费
  • 苏州市吴江区住房和城乡建设局网站自己建设自己的网站
  • 网站上面的小图标怎么做的做网站需要准备什么东西
  • 最便宜建站创意型网站
  • 金融投资网站建设游戏网站的设计
  • 做网站需准备些什么问题适合网站开发工程师的公司
  • 微信小程序怎拼做搬家网站wordpress更改固定连接
  • 网站建设销售主管岗位职责深圳公司网站改版通知
  • 郑州高端建站计算机专业吃香吗
  • 青岛网站建设网址宁波seo营销平台
  • 访问国外网站速度慢二级医院做网站
  • 免费网站安全软件大全游戏常州网站建设
  • 简单的seo网站优化排名管理咨询师资格证
  • 网站建设最好的网站百度百科
  • 美工培训网站建设部的网站首页
  • html5 jq做电脑网站wordpress调取文章列表
  • 医院做网站的意义网络平台推广运营
  • 手机网站如何开通微信公众号网站页眉尺寸
  • 建立html网站怎么找到精准客户资源
  • 专门做鞋子的网站有哪些中国设计师网效果图
  • 深圳建站企业包装设计公司哪个好
  • 成品网站w灬源码999交友南谯区城乡建设局网站
  • 公司域名是什么意思旅游企业seo官网分析报告