广告
返回顶部
首页 > 资讯 > 精选 >Java开发中容器概念、分类与用法的示例分析
  • 124
分享到

Java开发中容器概念、分类与用法的示例分析

java 2023-05-30 22:05:48 124人浏览 安东尼
摘要

这篇文章将为大家详细讲解有关Java开发中容器概念、分类与用法的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、容器的概念在Java当中,如果有一个类专门用来存放其它类的对象,这个类就叫做容器,

这篇文章将为大家详细讲解有关Java开发容器概念、分类与用法的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

1、容器的概念

在Java当中,如果有一个类专门用来存放其它类的对象,这个类就叫做容器,或者就叫做集合,集合就是将若干性质相同或相近的类对象组合在一起而形成的一个整体

2、容器与数组的关系

之所以需要容器:

数组的长度难以扩充
② 数组中数据的类型必须相同

容器与数组的区别与联系:

① 容器不是数组,不能通过下标的方式访问容器中的元素
② 数组的所有功能通过Arraylist容器都可以实现,只是实现的方式不同
③ 如果非要将容器当做一个数组来使用,通过toArraylist方法返回的就是一个数组

示例程序:

package IT;import java.util.ArrayList;import java.util.Iterator;//数组的所有功能通过ArrayList容器都可以实现,只是实现的方式不同public class App{  public static void main(String[] args)  {   ArrayList<Integer> arrayList = new ArrayList<Integer>();   arrayList.add(12);   arrayList.add(10);   arrayList.add(35);   arrayList.add(100);   Iterator<Integer> iterator = arrayList.iterator();//获取容器的迭代器   while(iterator.hasNext())   {    Integer value = iterator.next();//获取当前游标右边的元素,同时游标右移-->    System.out.println(value);   }   System.out.println("通过ArrayList容器获取一个数组arr:");   Object[] arr = arrayList.toArray();   for(int i=0;i<arr.length;i++)   {    System.out.println(arr[i]);   }  }}

输出结果:

121035100

通过ArrayList容器获取一个数组arr:

121035100

3、容器常用的几个方法

boolean add(Object obj):向容器中添加指定的元素
Iterator iterator():返回能够遍历当前集合中所有元素的迭代器
Object[] toArray():返回包含此容器中所有元素的数组。
Object get(int index):获取下标为index的那个元素
Object remove(int index):删除下标为index的那个元素
Object set(int index,Object element):将下标为index的那个元素置为element
Object add(int index,Object element):在下标为index的位置添加一个对象element
Object put(Object key,Object value):向容器中添加指定的元素
Object get(Object key):获取关键字为key的那个对象
int size():返回容器中的元素数

实例程序:

package IT;import java.util.ArrayList;public class App{  public static void main(String[] args)  {   ArrayList<Integer> arrayList = new ArrayList<Integer>();   arrayList.add(12);   arrayList.add(10);   arrayList.add(35);   arrayList.add(100);   System.out.println("原容器中的元素为:");   System.out.println(arrayList);   System.out.println("\n");      System.out.println("将下标为1位置的元素置为20,将下标为2位置的元素置为70");   arrayList.set(1, 20);   arrayList.set(2, 70);   System.out.println("重置之后容器中的元素为:");   System.out.println(arrayList);   System.out.println("\n");      System.out.println("在下标为1的位置插入一个元素,-----插入元素:此时容器后面的元素整体向后移动");   arrayList.add(1, 80);//在下标为1的位置插入一个元素,此时容量加1,-----位置后面的元素整体向后移动   System.out.println("插入之后容器中的元素为:");   System.out.println(arrayList);   System.out.println("插入之后容器中的容量为:");   System.out.println(arrayList.size());   System.out.println("\n");      System.out.println("将下标为3位置的元素70删除,-----删除元素:此时容器位置后面的元素整体向前移");   arrayList.remove(3);   System.out.println("删除之后容器中的元素为:");   System.out.println(arrayList);   System.out.println("删除之后容器中的容量为:");   System.out.println(arrayList.size());  }}

运行结果:

原容器中的元素为:[12, 10, 35, 100]将下标为1位置的元素置为20,将下标为2位置的元素置为70重置之后容器中的元素为:[12, 20, 70, 100]在下标为1的位置插入一个元素,-----插入元素:此时容器后面的元素整体向后移动插入之后容器中的元素为:[12, 80, 20, 70, 100]插入之后容器中的容量为:5将下标为3位置的元素70删除,-----删除元素:此时容器位置后面的元素整体向前移删除之后容器中的元素为:[12, 80, 20, 100]删除之后容器中的容量为:4

4、容器的分类

容器分为Set集、List列表、Map映射

Set集合:由于内部存储结构的特点,Set集合中不区分元素的顺序,不允许出现重复的元素,TreeSet容器特殊,元素放进去的时候自然而然就有顺序了,Set容器可以与数学中的集合相对应:相同的元素不会被加入

List列表:由于内部存储结构的特点,List集合中区分元素的顺序,且允许包含重复的元素。List集合中的元素都对应一个整数型的序号记载其在容器中的位置,可以根据序号存取容器中的元素—有序,可以重复

Map映射:由于内部存储结构的特点,映射中不能包含重复的键值,每个键最多只能映射一个值,否则会出现覆盖的情况(后面的value值会将前面的value值覆盖掉),Map是一种把键对象和值对象进行映射的集合,即Map容器中既要存放数据本身,也要存放关键字:相同的元素会被覆盖

注意:对于Set和Map来说,元素放进去之后是没有顺序的,如果希望元素放进去之后是有顺序的,可以用treeSet和treeMap存储数据。

实例程序:

var set2 = mutable.Set.empty[Int]set2 += 10set2 ++= List(50,100,200)set2 += 500println("Set输出的结果:")println(set2)var map3 = mutable.Map.empty[String,Double]map3 += "spark"->90.0map3 += "hadoop"->80.0map3 ++= List("Scala"->100.0,"Java"->60.0)println("Map输出的结果:")println(map3)

运行结果:

Set输出的结果:Set(100, 50, 500, 10, 200)Map输出的结果:Map(Hadoop -> 80.0, Spark -> 90.0, Scala -> 100.0, Java -> 60.0)

实例程序:

var treeSet = TreeSet(10,20,30,90,100,200,50)println(treeSet)var treeSet2 = TreeSet[String]("Spark","Anang","Baby","Hello")println(treeSet2)var treeMap = TreeMap[String,Integer]("Java"->100,"Scala"->88,"python"->60,"Anglebaby"->500)println(treeMap)

运行结果:

TreeSet(10, 20, 30, 50, 90, 100, 200)TreeSet(Anang, Baby, Hello, Spark)Map(Anglebaby -> 500, Java -> 100, Python -> 60, Scala -> 88)

Java开发中容器概念、分类与用法的示例分析

5、toString()方法的使用:凡是把类对象放到容器中,相应的类都应该实现Object类中的toString()方法;凡是Java中自带的数据类型,都已经重写完了toString()方法

实例1:(未重写toString()方法之前)

package IT;public class App{  public static void main(String[] args)  {   //Java中自带的类   System.out.println("-----凡是Java中自带的数据类型都已经重写完了toString()方法!---");   System.out.println(new Integer(2).toString());   System.out.println(new String("zhang").toString());   //用户自定义的类Student   System.out.println(new Student("zhangsan",99.8).toString());  }}class Student{  public String name;  public double score;  public Student(String name,double score)  {   this.name = name;   this.score = score;  }}

输出结果:

-----凡是Java中自带的数据类型都已经重写完了toString()方法!---2zhangit.Student@1af2f973

实例2:(重写完toString()方法之后)

package IT;import java.util.ArrayList;public class App{  public static void main(String[] args)  {   ArrayList<Student> arr = new ArrayList<Student>();   arr.add(new Student("zhangsan",89.8));   arr.add(new Student("lisi",90));   arr.add(new Student("wangwu",60.6));   System.out.println(arr);  }}class Student{  public String name;  public double score;  public Student(String name,double score)  {   this.name = name;   this.score = score;  }  public String toString()  {   return this.name+"\t"+this.score;  }}

输出结果:

[zhangsan 89.8, lisi 90.0, wangwu 60.6]

6、Comparable接口中的compareTo()方法:凡是需要进行比较排序的类都应该实现Comparable接口中的compareTo()方法;凡是把类对象放到以树为内部结构的容器中都应该实现Comparable接口中的compareTo()方法

实例1:

package IT;import java.util.ArrayList;import java.util.Collections;public class App{  public static void main(String[] args)  {   ArrayList<Student> arr = new ArrayList<Student>();   arr.add(new Student("zhangsan",89.8));   arr.add(new Student("lisi",90));   arr.add(new Student("wangwu",60.6));   arr.add(new Student("wangting",85.6));   Collections.sort(arr);   for (Student student : arr)  {   System.out.println(student);  }  }}class Student implements Comparable<Student>{  public String name;  public double score;  public Student(String name,double score)  {   this.name = name;   this.score = score;  }  public String toString()  {   return this.name+"\t"+this.score;  } public int compareTo(Student obj) {   return (int) (this.score - obj.score);//比较的标准为score进行升序 }}

输出结果:

wangwu 60.6wangting 85.6zhangsan 89.8lisi 90.0

实例2:

package IT;import java.util.TreeSet;public class App{  public static void main(String[] args)  {   TreeSet<Student> treeSet = new TreeSet<Student>();   treeSet.add(new Student("wangwu",60.6));   treeSet.add(new Student("lisi",90.0));   treeSet.add(new Student("wangting",85.6));   treeSet.add(new Student("zhangsan",60.6));   for (Student student : treeSet)   {    System.out.println(student);   }  }}class Student implements Comparable<Student>{  public String name;  public double score;  public Student(String name,double score)  {   this.name = name;   this.score = score;  }  public String toString()  {   return this.name+"\t"+this.score;  } public int compareTo(Student obj) {   if(this.score > obj.score)    return 1;   else    return -1; }}

输出结果:

zhangsan 60.6wangwu 60.6wangting 85.6lisi 90.0

7、凡是把类对象放到以哈希表为内部存储结构的容器中,相应的类必须要实现equals方法和hashCode方法,这样才符合哈希表真实的逻辑功能.

实例程序1:(为重写之前)

package IT;import java.util.HashMap;import java.util.Iterator;import java.util.Set;public class App{  public static void main(String[] args)  {   //Java中自带的数据类型   System.out.println("先测试Java中自带的数据类型:");   HashMap<String, Double> hashMap1 = new HashMap<String,Double>();   hashMap1.put("zhangsan", 96.0);   hashMap1.put("lisi", 88.6);   hashMap1.put("wangwu", 98.6);   hashMap1.put("wangting", 87.5);   hashMap1.put("zhangsan", 96.0);   hashMap1.put("lisi", 88.6);   hashMap1.put("wangwu", 98.6);   hashMap1.put("wangting", 87.5);   Set<String> keySet = hashMap1.keySet();   Iterator<String> iterator = keySet.iterator();   while(iterator.hasNext())   {    String key = iterator.next();    System.out.println(key+"\t"+hashMap1.get(key));   }   System.out.println("Java中自带的数据类型:相同的对象会覆盖!");   System.out.println("\n");   //用户自定义的数据类型:为重写之前   System.out.println("测试用户自定义的数据类型--未重写两个方法之前:");   HashMap<Student, String> hashMap2 = new HashMap<Student,String>();   hashMap2.put(new Student("zhangsan",88.8), "beijing");   hashMap2.put(new Student("lisi",88.8), "beijing");   hashMap2.put(new Student("wangwu",66.9), "beijing");   hashMap2.put(new Student("zhangsan",88.8), "beijing");   hashMap2.put(new Student("lisi",88.8), "beijing");   hashMap2.put(new Student("wangwu",66.9), "beijing");   Set<Student> keySet2 = hashMap2.keySet();   Iterator<Student> iterator2 = keySet2.iterator();   while(iterator2.hasNext())   {    Student key = iterator2.next();    System.out.println(key+"\t"+hashMap2.get(key));   }   System.out.println("如果没有重写:导致相同的对象不会被覆盖!");  }}class Student implements Comparable<Student>{  public String name;  public double score;  public Student(String name,double score)  {   this.name = name;   this.score = score;  }  public String toString()  {   return this.name+"\t"+this.score;  } public int compareTo(Student obj) {   if(this.score > obj.score)    return 1;   else    return -1; }}

输出结果:

先测试Java中自带的数据类型:wangting 87.5wangwu 98.6lisi 88.6zhangsan 96.0Java中自带的数据类型:相同的对象会覆盖!测试用户自定义的数据类型--为重写两个方法之前:zhangsan 88.8 beijingwangwu 66.9 beijinglisi 88.8 beijingwangwu 66.9 beijingzhangsan 88.8 beijinglisi 88.8 beijing如果没有重写:导致相同的对象不会被覆盖!

实例程序2:重写之后

package IT;import java.util.HashMap;import java.util.Iterator;import java.util.Set;public class App{  public static void main(String[] args)  {   //用户自定义的数据类型:为重写之后   System.out.println("测试用户自定义的数据类型--重写两个方法之后:");   HashMap<Student, String> hashMap2 = new HashMap<Student,String>();   hashMap2.put(new Student("zhangsan",88.8), "beijing");   hashMap2.put(new Student("lisi",88.8), "beijing");   hashMap2.put(new Student("wangwu",66.9), "beijing");   hashMap2.put(new Student("zhangsan",88.8), "beijing");   hashMap2.put(new Student("lisi",88.8), "beijing");   hashMap2.put(new Student("wangwu",66.9), "beijing");   Set<Student> keySet2 = hashMap2.keySet();   Iterator<Student> iterator2 = keySet2.iterator();   while(iterator2.hasNext())   {    Student key = iterator2.next();    System.out.println(key+"\t"+hashMap2.get(key));   }   System.out.println("重写过后:相同的对象会被覆盖!");  }}class Student implements Comparable<Student>{  public String name;  public double score;  public Student(String name,double score)  {   this.name = name;   this.score = score;  }  public String toString()  {   return this.name+"\t"+this.score;  } public int compareTo(Student obj) {   if(this.score > obj.score)    return 1;   else    return -1; } @Override public int hashCode() {  return (int) (this.name.hashCode()*score);//保证相同对象映射到同一个索引位置 } @Override public boolean equals(Object obj) {  Student cc = (Student)obj;  return this.name==cc.name&&this.score==cc.score; }}

输出结果:

测试用户自定义的数据类型--重写两个方法之后:wangwu 66.9 beijingzhangsan 88.8 beijinglisi 88.8 beijing重写过后:相同的对象会被覆盖!

8、重要的一个逻辑:逻辑上来讲,只要两个对象的内容相同,其地址(hashCode()返回值)以及这两个对象就应该相同(equals()),

实例程序(为重写之前):

package IT;public class App{  public static void main(String[] args)  {   //Java中自带的数据类型   System.out.println(new Integer(1).equals(new Integer(1)));   System.out.println(new Integer(1).hashCode()==new Integer(1).hashCode());   System.out.println(new String("zhang").equals(new String("zhang")));   System.out.println(new String("zhang").hashCode()==new String("zhang").hashCode());   System.out.println("\n");   //用户自定义的数据类型   System.out.println(new Student("zhangsan",98.8).equals(new Student("zhangsan",98.8)));   System.out.println(new Student("zhangsan",98.8).hashCode());   System.out.println(new Student("zhangsan",98.8).hashCode());  }}class Student implements Comparable<Student>{  public String name;  public double score;  public Student(String name,double score)  {   this.name = name;   this.score = score;  }  public String toString()  {   return this.name+"\t"+this.score;  } public int compareTo(Student obj) {   if(this.score > obj.score)    return 1;   else    return -1; }}

输出结果:

truetruetruetruefalse4886766941211729930

重写之后:

package IT;public class App{  public static void main(String[] args)  {   System.out.println(new Student("zhangsan",98.8).equals(new Student("zhangsan",98.8)));   System.out.println(new Student("zhangsan",98.8).hashCode());   System.out.println(new Student("zhangsan",98.8).hashCode());  }}class Student implements Comparable<Student>{  public String name;  public double score;  public Student(String name,double score)  {   this.name = name;   this.score = score;  }  public String toString()  {   return this.name+"\t"+this.score;  } public int compareTo(Student obj) {   if(this.score > obj.score)    return 1;   else    return -1; } @Override public int hashCode() {  return (int) (this.name.hashCode()*score); } @Override public boolean equals(Object obj) {  Student cc = (Student)obj;  return this.name==cc.name&&this.score==cc.score; }}

输出结果:

true-2147483648-2147483648

上面的5、6、7、8可以归结为4个”凡是”,1个“逻辑”:

凡是把类对象放到容器中,相应的类都应该实现Object类中的toString()方法;
2、凡是需要进行比较排序的类都应该实现Comparable接口中的compareTo()方法;凡是把类对象放到以树为内部结构的容器中都应该实现Comparable接口中的compareTo()方法
3、凡是把类对象放到以哈希表为内部存储结构的容器中,相应的类必须要实现equals方法和hashCode方法,这样才符合哈希表真实的逻辑功能.
4、逻辑上来讲,只要两个对象的内容相同,其地址(hashCode()返回值)以及这两个对象就应该相同(equals())。

9、哈希冲突的相关概念

本质上讲就是:hash(对象1.hashCode())=hash3(对象2.hashCode()),即第一个对象的hashCode()方法返回的哈希码值带入到哈希函数后得到的索引位置与第二个对象的hashCode()方法返回的哈希码值带入到哈希函数后得到的索引位置相同,这就是哈希冲突。

最常见的哈希算法是取模法。

下面简单讲讲取模法的计算过程。

比如:数组的长度是5。这时有一个数据是6。那么如何把这个6存放到长度只有5的数组中呢。按照取模法,计算6%5,结果是1,那么就把6放到数组下标是1的位置。那么,7

就应该放到2这个位置。到此位置,哈斯冲突还没有出现。这时,有个数据是11,按照取模法,11%5=1,也等于1。那么原来数组下标是1的地方已经有数了,是6。这时又计算出1这个位置,那么数组1这个位置,就必须储存两个数了。这时,就叫哈希冲突。冲突之后就要按照顺序来存放了。

如果数据的分布比较广泛,而且储存数据的数组长度比较大。

那么哈希冲突就比较少。否则冲突是很高的。

10、iterator接口的作用

重要方法:

boolean hasNext():是用来判断当前游标(迭代器)的后面是否存在元素,如果存在返回真,否则返回假
Object next():先返回当前游标右边的元素,然后游标后移一个位置
void remove():不推荐使用iterator的remove()方法,而是推荐使用容器自带的remove方法。

实例程序:

package IT;import java.util.HashMap;import java.util.Iterator;import java.util.Set;public class App{  public static void main(String[] args)  {   HashMap<String, Double> hashMap = new HashMap<String,Double>();   hashMap.put("zhangsan", 88.6);   hashMap.put("lisi", 69.0);   hashMap.put("wanqwu", 100.0);   hashMap.put("lisi", 69.0);   Set<String> keySet = hashMap.keySet();   Iterator<String> iterator = keySet.iterator();   while(iterator.hasNext())   {    String key = iterator.next();//获取迭代器右边的元素,同时右移    System.out.println(key+hashMap.get(key));   }  }}

思考题:

package IT;import java.util.TreeSet;public class App{  public static void main(String[] args)  {    TreeSet<Student> treeSet = new TreeSet<Student>();    treeSet.add(new Student("zhangsan",98));    treeSet.add(new Student("zhangsan",98));    System.out.println(treeSet.size());    System.out.println(treeSet);    //本程序中并没有重写equals方法,但是treeSet将识别出两个new Student("zhangsan",98)为相同的,因为内部数据结构吗?    System.out.println(new Student("zhangsan",98).equals(new Student("zhangsan",98)));  }}class Student implements Comparable<Object>{  public String name;  public double score;  public Student(String name,double score)  {   this.name = name;   this.score = score;  }  public String toString()  {   return name + "\t" + score;  } @Override public int compareTo(Object obj) {  Student cc = (Student)obj;  return (int) (this.score - cc.score); }}

关于“Java开发中容器概念、分类与用法的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: Java开发中容器概念、分类与用法的示例分析

本文链接: https://www.lsjlt.com/news/221775.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java开发中容器概念、分类与用法的示例分析
    这篇文章将为大家详细讲解有关Java开发中容器概念、分类与用法的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、容器的概念在Java当中,如果有一个类专门用来存放其它类的对象,这个类就叫做容器,...
    99+
    2023-05-30
    java
  • Java中并发容器的示例分析
    这篇文章给大家分享的是有关Java中并发容器的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、并发容器1.1 JDK 提供的并发容器总结JDK 提供的这些容器大部分在java.util.concurre...
    99+
    2023-06-15
  • Java中类与对象的示例分析
    这篇文章主要介绍Java中类与对象的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!类和对象在面向对象中,类和对象是最基本、最重要的组成单元。类实际上是表示一个客观世界某类群体的一些基本特征抽象。对象就是表示一...
    99+
    2023-06-20
  • Java中ANSI,Unicode,BMP,UTF等编码概念的示例分析
    这篇文章主要介绍了Java中ANSI,Unicode,BMP,UTF等编码概念的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、前言其实从开始写Java代码以来,我...
    99+
    2023-05-30
    java
  • Java并发编程之同步容器与并发容器的示例分析
    这篇文章主要为大家展示了“Java并发编程之同步容器与并发容器的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java并发编程之同步容器与并发容器的示例分析”这篇文章吧。一、同步容器&n...
    99+
    2023-06-15
  • Java开发基础日期类的示例分析
    这篇文章主要为大家展示了“Java开发基础日期类的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java开发基础日期类的示例分析”这篇文章吧。一、日期工具类package co...
    99+
    2023-05-31
    java
  • vue中组件可重用性概念的示例分析
    这篇文章主要介绍vue中组件可重用性概念的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!为什么要使用VueVue是一款友好的、多用途且高性能的JavaScript框架,使用vue可以创建可维护性和可测试性更强...
    99+
    2023-06-14
  • Bootstrap5中断点与容器的示例分析
    这篇文章主要介绍Bootstrap5中断点与容器的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、Bootstrap5的断点1.1 移动优先说到移动优先,先要提一下响应式设...
    99+
    2022-10-19
  • Java中多线程与并发的示例分析
    这篇文章主要介绍Java中多线程与并发的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、进程与线程进程:是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。线程:是进程的一个执行路径,一个...
    99+
    2023-06-15
  • 弱类型语言javascript开发中的示例分析
    这篇文章主要介绍了弱类型语言javascript开发中的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。测试1: (未声明变量自动提升...
    99+
    2022-10-19
  • web开发中重排与重绘的示例分析
    小编给大家分享一下web开发中重排与重绘的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!前言浏览器下载完页面中的所有内容:HTML、JavaScript、CSS、图片——之后会解析...
    99+
    2022-10-19
  • CSS中flex容器与flex属性的示例分析
    小编给大家分享一下CSS中flex容器与flex属性的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!flex conta...
    99+
    2022-10-19
  • java编程中abstract类和方法的示例分析
    小编给大家分享一下java编程中abstract类和方法的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!抽象类和抽象方法常用知识点:(1)抽象类作为被继承类,子类必须实现抽象类中的所有抽象方法,除非子类也为抽象类。...
    99+
    2023-05-30
    java abstract
  • Java中Mybatis框架多表操作与注解开发的示例分析
    这篇文章将为大家详细讲解有关Java中Mybatis框架多表操作与注解开发的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一对一查询一对一查询的模型用户表和订单表的关系为,一个用户有多个订单,一个...
    99+
    2023-06-25
  • Java中引用类型和值类型的示例分析
    这篇文章给大家分享的是有关Java中引用类型和值类型的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。值类型传值,引用类型传引用Demo:public class ReferDemo {   &n...
    99+
    2023-06-03
  • C#开发中事件与委托机制的示例分析
    这篇文章给大家分享的是有关C#开发中事件与委托机制的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。概述C#中的委托类似于C或C++中的函数指针。使用委托使程序员可以将方法引用封装在委托对象内。然后可以将该...
    99+
    2023-06-17
  • iOS 11开发中iOS11模拟器的示例分析
    这篇文章将为大家详细讲解有关iOS 11开发中iOS11模拟器的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。iOS11模拟器介绍在图1.6或者1.7中所看到的类似于手机的模型就是iOS模拟器。i...
    99+
    2023-06-04
  • Java中方法的使用、重载与递归的示例分析
    这篇文章主要介绍了Java中方法的使用、重载与递归的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一.方法的基本使用1.什么是方法方法是一个代码片段,类似于C语言中的...
    99+
    2023-06-25
  • Tomcat9中容器结构与生命周期的示例分析
    这篇文章将为大家详细讲解有关Tomcat9中容器结构与生命周期的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。容器的生命周期容器的结构上图为Tomcat容器的类图结构,所有容器会继承Lifecyc...
    99+
    2023-06-02
  • javascript开发之网页兼容各种浏览器的示例分析
    这篇文章主要为大家展示了“javascript开发之网页兼容各种浏览器的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“javascript开发之网页兼容...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作