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

vue单页面做网站加载慢wordpress 上传图片500错误

vue单页面做网站加载慢,wordpress 上传图片500错误,wordpress排版教程视频,网站建设方案评审菜鸟之路Day09一一集合进阶(二) 作者#xff1a;blue 时间#xff1a;2025.1.27 文章目录 菜鸟之路Day09一一集合进阶(二)0.概述1.泛型1.1泛型概述1.2泛型类1.3泛型方法1.4泛型接口1.5泛型通配符 2.Set系列集合2.1遍历方式2.2HashSet2.3LinkedHashSet2.4TreeSet 0.概述 内…菜鸟之路Day09一一集合进阶(二) 作者blue 时间2025.1.27 文章目录 菜鸟之路Day09一一集合进阶(二)0.概述1.泛型1.1泛型概述1.2泛型类1.3泛型方法1.4泛型接口1.5泛型通配符 2.Set系列集合2.1遍历方式2.2HashSet2.3LinkedHashSet2.4TreeSet 0.概述 内容学习至黑马程序员BV17F411T7Ao无论如何今天是值得铭记的一天我们终于完结了200集的上部。下部漫漫我们再接再厉。 1.泛型 1.1泛型概述 泛型是JDK5中引入的新特性可以在编译阶段约束操作的数据类型并进行检查 泛型的格式数据类型 注意泛型只能支持引用数据类型原因数据在装入集合的过程中会做一个泛型的擦除也就是说在集合中实际存储的是Object类型的数据而引用数据类型是继承Object的这里利用了多态所以这里必须使用引用数据类型。指定了泛型的具体类型后传入数据时可以传入该类类型或其子类类型 泛型的好处1.统一了数据类型2.把运行时期的问题提前到了编译期间避免了强制类型转换可能出现的异常因为在编译阶段类型就能够确定下来 如果不写泛型类型默认是Object 1.2泛型类 使用场景当一个类中某个变量的数据类型不确定时就可以定义带有泛型的类 比如下面我们手写一个MyArrayList import java.util.Arrays;public class MyArrayListE {Object[] obj new Object[10];int size;public boolean add(E e){obj[size] e;size;return true;}public E get(int index) {return (E)obj[index];}Overridepublic String toString() {return Arrays.toString(obj);} }使用一下我们自己写的MyArrayList public class GenericsDemo1 {public static void main(String[] args) {MyArrayListInteger list new MyArrayList();list.add(123);list.add(234);list.add(345);list.add(456);System.out.println(list.get(3));} }1.3泛型方法 方法中形参类型不确定时方案①使用类名后面定义的泛型所有方法都能用方案②在方法申明上定义自己的泛型只有本方法能用 泛型方法的格式 /* 修饰符 类型 返回值类型 方法名(类型 变量名){方法体 } */练习定义一个工具类ListUtil ​ 类中定义一个静态方法addAll用来添加多个集合的元素 package Generics;import java.util.ArrayList;public class ListUtil {private ListUtil(){}//工具类私有化其构造方法//静态方法的话泛型写在static之后public staticE void addAll(ArrayListE list,E e1,E e2,E e3,E e4){list.add(e1);list.add(e2);list.add(e3);list.add(e4);} }1.4泛型接口 /*修饰符 interface 接口名类型{}*/泛型接口的重点在于如何使用一个带泛型的接口 方式1实现类给出具体的类型 public class MyArrayList implements ListString方式2实现类延续泛型创建对象时再确定 public class MyArrayListE implement ListE MyArrayListString list new MyArrayList();1.5泛型通配符 /*?也表示不确定类型他可以进行类型的限定? extends E:表示可以传递E或者E所有的子类类型? super E:表示可以传递E或者E所有父亲类型应用场景1.如果我们在定义类方法接口的时候如果类型不确定就可以定义泛型类泛型方法泛型接口2.如果类型不确定但是能知道以后只能传递某个继承体系中的就可以使用泛型的通配符泛型的通配符关键点可以限定类型的范围 */package Generics;import java.util.ArrayList;public class GenericsDemo2 {public static void main(String[] args) {ArrayListYe list1 new ArrayList();ArrayListFu list2 new ArrayList();ArrayListZi list3 new ArrayList();method(list1);method(list2);method(list3);//method(new ArrayListInteger());这个就不行}public static void method(ArrayList? extends Ye list){} } class Ye {} class Fu extends Ye{} class Zi extends Fu {}2.Set系列集合 Set系列集合添加的元素是无序不重复无索引的 Set集合的实现类特点 名字特点HashSet无序不重复无索引LinkedHashSet有序不重复无索引TreeSet可排序不重复无索引 2.1遍历方式 Set还是属于Collection系列的所以它的API与Collection是一样不同是其遍历方式因为它是无索引的所以只能用Collection通用的遍历方式迭代器增强forLambada表达式 package SetDemo;import java.util.Comparator; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.function.Consumer;public class SetDemo1 {public static void main(String[] args) {HashSetString set new HashSet();set.add(aaa);set.add(aaa);//利用set去重set.add(bbb);set.add(ccc);set.add(ddd);//迭代器遍历IteratorString it set.iterator();while(it.hasNext()){System.out.println(it.next());}//增强forfor(String i:set){System.out.println(i);}//Lambda表达式set.forEach((String s)-{System.out.println(s);});} }2.2HashSet HashSet集合的底层原理采取哈希表存取数据 哈希表是一种对于增删改查数据性能都较好的结构 哈希值 根据hashCode方法算出来的int类型的整数整数 该方法定义在Object类中所有对象都可以调用默认使用地址值进行计算 一般情况下会重写hashCode方法利用对象内部属性值计算哈希值 注意 ​ 如果没有重写hashCode方法不同对象计算出的哈希值是不同的 ​ 如果重写hashCode方法不同的对象只要属性值相同计算出的哈希值就是一样的 ​ 在小部分情况下不同属性值或者不同地址值计算出来的哈希值也有可能一样。哈希碰撞 练习 需求 package SetDemo;import java.util.HashSet;public class HashSetDemo1 {public static void main(String[] args) {HashSetStudent set new HashSet();Student stu1 new Student(zhangsan,11);Student stu2 new Student(lisi,12);Student stu3 new Student(wangwu,13);set.add(stu1);set.add(stu2);set.add(stu3);//这个添加是失败的因为他是根据hashCode来去重的我们重写了hashCode方法,使得属性一样的hashCode是一致的Student stu4 new Student(zhangsan,11);System.out.println(set.add(stu4));//falseSystem.out.println(stu1.hashCode());System.out.println(stu4.hashCode());for(Student i : set){System.out.println(i);}} }2.3LinkedHashSet 有序不重复无索引 这里的有序指的是保证存储和取出的元素顺序是一致的因为有序的要求更复杂所以它的效率比HashSet的效率低一点 原理底层数据结构依然是哈希表只是每个元素又额外多了一个双链表的机制记录存储的顺序 打印出来的顺序是按照我们添加的顺序 public class LinkedHashSetDemo1 {public static void main(String[] args) {LinkedHashSetStudent set new LinkedHashSet();Student stu1 new Student(zhangsan,11);Student stu2 new Student(lisi,12);Student stu3 new Student(wangwu,13);set.add(stu1);set.add(stu2);set.add(stu3);System.out.println(set);} }2.4TreeSet TreeSet不重复无索引可排序 可排序按照元素的默认规则有小到大排序 TreeSet集合的底层是基于红黑树的数据结构实现排序的增删改查的性能都比较好 //基本使用 package SetDemo;import java.util.Iterator; import java.util.TreeSet; import java.util.function.Consumer;public class TreeSetDemo1 {public static void main(String[] args) {TreeSetInteger ts new TreeSet();ts.add(2);ts.add(1);ts.add(5);ts.add(4);ts.add(3);System.out.println(ts);//自动排序//增强forfor(Integer i : ts){System.out.print(i );}System.out.println();//迭代器IteratorInteger it ts.iterator();while(it.hasNext()){System.out.print(it.next() );}System.out.println();//Lambadats.forEach((Integer i)-{System.out.print(i );});} }TreeSet集合默认的规则 对于数值类型IntegerDouble默认按照从小到大的顺序排序 对于字符字符串类型按照字符在ASCII码表中的数字升序进行排序 自定义类型如何排序 方式一自然排序/默认排序javabean类实现Comparable接口指定比较规则 package SetDemo;import java.util.Objects;public class Student implements ComparableStudent{private String name;private int age;public Student() {}public Student(String name, int age) {this.name name;this.age age;}public String getName() {return name;}public void setName(String name) {this.name name;}public int getAge() {return age;}public void setAge(int age) {this.age age;}Overridepublic String toString() {return Student{ name name \ , age age };}Overridepublic int compareTo(Student o) {//按照年龄大小排序return this.getAge()-o.getAge();} }package SetDemo;import java.util.TreeSet;public class TreeSetDemo2 {public static void main(String[] args) {Student stu1 new Student(zhangsan,11);Student stu2 new Student(lisi,12);Student stu3 new Student(wangwu,13);TreeSetStudent ts new TreeSet();ts.add(stu1);ts.add(stu2);ts.add(stu3);System.out.println(ts);} }方式二比较器排序创建TreeSet对象的时候传递比较器Comparator指定规则 package SetDemo;import java.util.Comparator; import java.util.TreeSet;public class TreeSetDemo3 {public static void main(String[] args) {//按照长度排序如果一样长则按照首字母排序TreeSetString ts new TreeSet(new ComparatorString() {Override/*o1:表示当前要添加的元素o2:表示已经在红黑树中的元素返回值的规则和之前是一样的*/public int compare(String o1, String o2) {//按照长度排序int i o1.length()-o2.length();//如果一样长则按照首字母排序ii0?o1.compareTo(o2):i;//String的内置比较方法return i;}});ts.add(c);ts.add(ab);ts.add(df);ts.add(qwer);} }改为Lambada package SetDemo;import java.util.Comparator; import java.util.TreeSet;public class TreeSetDemo3 {public static void main(String[] args) {//按照长度排序如果一样长则按照首字母排序TreeSetString ts new TreeSet((String o1, String o2) -{//按照长度排序int i o1.length()-o2.length();//如果一样长则按照首字母排序ii0?o1.compareTo(o2):i;//String的内置比较方法return i;});ts.add(c);ts.add(ab);ts.add(df);ts.add(qwer);for (String i:ts){System.out.println(i);}} }
http://www.pierceye.com/news/700626/

相关文章:

  • php怎么做网站快大都会app下载最新版本
  • 麻城网站建设公司网络推广公司挣钱吗
  • t型布局网站的样子自己做的网站如何上传
  • 排版设计模板网站百度搜索下载安装
  • 网站页面建设需要ps吗网站建设结单 优帮云
  • 网站建设对我有什么好处网站首页被k 做跳转
  • 美辰网站建设网站建设公司转型做什
  • 创意网站界面怎么查注册公司的名字可不可以用
  • 微友说是做网站维护让帮忙投注中小企业经营管理培训班
  • 网站开发宣传标语虚拟币挖矿网站开发
  • wordpress是否免费网站移动端seo
  • 加盟网站建设服务极简风格 wordpress
  • phpcms v9 网站模板seo优化的技巧
  • 域名备案网站要不要关7k7k网页游戏
  • 虚拟主机发布网站吗汕头建站平台
  • wap站是什么意思啊阿里云建设网站的步骤
  • 网站备案 异地可以做视频的网站
  • 淘宝网站c 设计怎么做安卓手机做网站
  • 嘉兴做网站建设的公司电商网名大全
  • 欢迎访问中国建设银行网站密码重置wordpress wp_parse_args
  • 普通电脑可以做网站服务器吗找人做网站需要什么条件
  • 长沙公司网站的建设网站图片尺寸
  • 高端网站定制费用是多少php网站建设制作
  • 广州营销型网站建设费用wordpress最新版下载
  • 洛阳网站设计公司xiamiplayer for wordpress
  • 做网站模版形象墙logo墙设计图
  • 视频网站怎么做防盗链好的装修效果图网站
  • 个人音乐分享网站源码移动网站建设的前景
  • 谷歌自建站和优化网站有很多304状态码
  • 甘肃 网站建设高端品牌护肤品