`
444878909
  • 浏览: 642276 次
文章分类
社区版块
存档分类
最新评论

黑马程序员<<Map>>

 
阅读更多

--------------------ASP.Net+Android+IOS开发.Net培训、期待与您交流! --------------------


1. Map

Map也是一个集合,只是是以键值对存储的,常见的子类有Hashtable,HashMap,TreeMap。

Hashtable:是1.0版本,底层的数据结构是哈希表,键和值和不能是null值,线程安全,和HashMap比较,效率低。

HashMap:是1.2版本的,底层也是哈希表数据结构,键和值可以为空(null),线程不安全,效率比较高。更确切的说,HashMap是Hashtable的升级版。

TreeMap:可以排序,底层是二叉树。

下面以HashMap为例,介绍一下Map集合。

2. HashMap

1. 添加元素

import java.util.HashMap;
import java.util.Map;
public class MapDemo {
   public static void main(String[] args) {
     /* 定义了一个Map集合,键和值的类型都是String */
     Map<String, String> map = new HashMap<String, String>();
     map.put("110", "张三");
     map.put("111", "李四");
     map.put("112", "王五");
     System.out.println("Map集合中的键和值:" + map);
     System.out.println("----------------");
     /* 利用put方法来添加元素,返回值是当前键以前对应的值,如果没有则返回null
      *当添加了相同的键,那么新的键和值会替换原来的键和值
      * */
     System.out.println(map.put("111", "赵六"));//这里返回的是李四,因为此集合中前面有111键对应的值
     System.out.println(map.put("113", "王刚"));//此时返回的是null,因为此集合中前面没有与113键对应的值
     System.out.println("Map集合中的键和值:" + map);
   }
}
结果:
Map集合中的键和值:{112=王五, 110=张三, 111=李四}
----------------
李四
null
Map集合中的键和值:{112=王五, 113=王刚, 110=张三, 111=赵六}

2.判断元素

import java.util.HashMap;
import java.util.Map;
 
public class MapDemo {
   public static void main(String[] args) {
     /* 定义了一个Map集合,键和值的类型都是String */
     Map<String, String> map = new HashMap<String, String>();
     map.put("110", "张三");
      map.put("111", "李四");
     map.put("112", "王五");
     System.out.println("Map集合中的键和值:" + map);
     /*
      * 利用booleancontainsKey(Object key)判断集合中是否有此键利用boolean
      * containsValue(Objectvalue)判断此集合中是否有此值
      */
     System.out.println("集合中是否包含110键:" + map.containsKey("110"));
     System.out.println("集合中是否包含000键:" + map.containsKey("000"));
     System.out.println("集合中是否包含   张三   值:" +map.containsValue("张三"));
     System.out.println("集合中是否包含     王梅    值:" +map.containsValue("王梅"));
   }
}
结果:
Map集合中的键和值:{112=王五, 110=张三, 111=李四}
集合中是否包含110键:true
集合中是否包含000键:false
集合中是否包含   张三   值:true
集合中是否包含     王梅    值:false

3.删除元素

import java.util.HashMap;
import java.util.Map;
 
public class MapDemo {
   public static void main(String[] args) {
     /* 定义了一个Map集合,键和值的类型都是String */
     Map<String, String> map = new HashMap<String, String>();
     map.put("110", "张三");
     map.put("111", "李四");
     map.put("112", "王五");
     map.put("113", "赵六");
     System.out.println("Map集合中的键和值:" + map);
     /*
      * 利用remove(Objectkey)通过键来删除元素,返回值是此键以前对应的值,如果不存在返回null 利用void
      * clear()清空集合中的元素
      */
     System.out.println("删除 110键对应的元素:" + map.remove("110"));// 这里返回是张三
     System.out.println("删除 120键对应的元素:" + map.remove("120"));// 这里返回null,因为此集合中没有120对应的值
     System.out.println("删除指定元素的集合:" + map);
     map.clear();// 清空集合
     System.out.println("清空集合后的集合:" + map);
   }
}
结果:
Map集合中的键和值:{112=王五, 113=赵六, 110=张三, 111=李四}
删除 110键对应的元素:张三
删除 120键对应的元素:null
删除 指定元素的集合:{112=王五, 113=赵六, 111=李四}
清空集合后的集合:{}


3. 获取元素

1.单个获取

 import java.util.HashMap;
import java.util.Map;
 
public class MapDemo {
   public static void main(String[] args) {
     /* 定义了一个Map集合,键和值的类型都是String */
     Map<String, String> map = new HashMap<String, String>();
     map.put("110", "张三");
     System.out.println("Map集合中的键和值:" + map);
     /*
      * 利用get(Objectkey)获取键对应的单个值,如果不存在,然会null
      */
     System.out.println("获取110对应的值:" + map.get("110"));// 这里返回是张三
     System.out.println("获取111对应的值:" + map.get("111"));// 这里返回是null
 
   }
}
结果:
Map集合中的键和值:{110=张三}
获取110对应的值:张三
获取111对应的值:null

2. 获取键的集合

package www.fuxi.jihe;
 
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
 
public class MapDemo {
   public static void main(String[] args) {
     /* 定义了一个Map集合,键和值的类型都是String */
     Map<String, String> map = new HashMap<String, String>();
     map.put("110", "张三");
     map.put("111", "李四");
     map.put("112", "王五");
     System.out.println("Map集合中的键和值:" + map);
     /*
      * 利用Set<K>keySet()获取集合中键的集合返回值是Set集合
      * 我们可以通过Set集合中的迭代器读取出键,然后再通过get(key)获取元素
      */
     Set<String> set = map.keySet();// 获得键的集合
     Iterator<String> it = set.iterator();// 获得键集合的迭代器
     while (it.hasNext()) {
        String key = it.next();
        System.out.println(key + ":" + map.get(key));
     }
     /*
      * 利用Set<K>keySet()获取集合中键的集合返回值是Set集合然后把集合装换成数组,然后读取也可以
      */
     System.out.println("----------\n");
     Object[] keys = set.toArray();
     for (int i = 0; i < keys.length; i++) {
        System.out.println((String) keys[i] + ":"
             + map.get((String) keys[i]));
     }
 
   }
}
 
结果:
Map集合中的键和值:{112=王五, 110=张三, 111=李四}
112:王五
110:张三
111:李四
----------
 
112:王五
110:张三
111:李四


3.获取值的集合

 packagewww.fuxi.jihe;
 
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
 
public class MapDemo {
      publicstatic void main(String[] args) {
           /* 定义了一个Map集合,键和值的类型都是String */
           Map<String,String> map = new HashMap<String, String>();
           map.put("110","张三");
           map.put("111","李四");
           map.put("112","王五");
           System.out.println("Map集合中的键和值:" + map);
           /**
            * 通过方法Collection<V>values()获得集合中的所有值
            */
           System.out.println("集合中的值:");
       Collection<String>values=map.values();
       Iteratorit=values.iterator();
      while(it.hasNext()){
           System.out.println(it.next());
       }
      }
}结果:
   Map集合中的键和值:{112=王五, 110=张三, 111=李四}
集合中的值:
王五
张三
李四

4. 通过映射关系

 import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
 
public class MapDemo {
   public static void main(String[] args) {
     /* 定义了一个Map集合,键和值的类型都是String */
     Map<String, String> map = new HashMap<String, String>();
     map.put("110", "张三");
     map.put("111", "李四");
     map.put("112", "王五");
     System.out.println("Map集合中的键和值:" + map);
     /*
      * 利用Set<Map.Entry<K,V>>entrySet()获取集合中的映射关系
      * 然后通过迭代器读取Set集合
      * 然后利用Map.Entry中的K getKey()获得键,V getValue()获取值
      */
      Set<Map.Entry<String,String>> set=map.entrySet();//获得映射的集合
      Iterator<Map.Entry<String,String>>  it=set.iterator();//获得迭代器
       while(it.hasNext()){
         Map.Entry<String, String> en=it.next();//获取集合中的元素
         String key=en.getKey();
         String value=en.getValue();
         System.out.println("键-值:"+key+"-"+value);
       }
 
   }
}
 
结果:
Map集合中的键和值:{112=王五, 110=张三, 111=李四}
键-值:112-王五
键-值:110-张三
键-值:111-李四
 

Map.Entry是Map中的静态接口,此表示的把Map中的元素表示为映射关系

staticinterface

Map.Entry<K,V>
映射项(键-值对)。

4. HashMap和TreeMap的比较使用

HashMap比较的时候依赖于hashCode()和equals(Object ob)方法

TreeMap可以添加比较器或者是自然排序,对象实现接口comparable。

1. 利用HashMap

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
 
public class HashMapDemo {
  public static void main(String[] args) {
    /* 定义HashMap,里面存储的是Student和地址 */
    HashMap<Student, String> map = new HashMap<Student, String>();
    map.put(new Student("张三", 23), "北京");
    map.put(new Student("李四", 24), "上海");
    map.put(new Student("王五", 23), "南京");
    map.put(new Student("张三", 23), "广州");// 存了一个重复的值
 
    // 第一种读取方式
    Set<Student> set = map.keySet();
    Iterator<Student> it = set.iterator();
    while (it.hasNext()) {
      Student stu = it.next();
      String name = stu.getName();
      int age = stu.getAge();
      String address = map.get(stu);
      System.out.println(name + ":" + age + ":" + address);
    }
    System.out.println("---------");
    System.out.println("下面利用的是映射关系读取");
    Set<Map.Entry<Student, String>> ens = map.entrySet();
    Iterator<Map.Entry<Student, String>> its =ens.iterator();
    while (its.hasNext()) {
      Map.Entry<Student, String> me = its.next();
      Student stu = me.getKey();
      String address = me.getValue();
      System.out.println(stu.getName()+ ":" + stu.getAge() + ":"
           + address);
    }
  }
 
}
 
结果:
张三:23:广州
王五:23:南京
李四:24:上海
---------
下面利用的是映射关系读取
张三:23:广州
王五:23:南京
李四:24:上海


2. 利用TreeMap排序

import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeMap;
 
public class TreeMapDemo {
  public static void main(String[] args) {
    /* 定义HashMap,里面存储的是Student和地址 */
    TreeMap<Student, String> map = new TreeMap<Student, String>();
    map.put(new Student("张三", 23), "北京");
    map.put(new Student("李四", 21), "上海");
    map.put(new Student("王五", 24), "南京");
    map.put(new Student("赵六", 26), "广州");
 
    Set<Student> set = map.keySet();
    Iterator<Student> it = set.iterator();
    while (it.hasNext()) {
      Student stu = it.next();
      String name = stu.getName();
      int age = stu.getAge();
      String address = map.get(stu);
      System.out.println(name + ":" + age + ":" + address);
    }
 
  }
 
}
结果:
李四:21:上海
张三:23:北京
王五:24:南京
赵六:26:广州
 


从结果可以看出,是按照年龄排序的,所以说TreeSet是具有排序的功能。

那么现在我们自定义比较器,是按照姓名排序。

import java.util.Comparator;
 
public class StuNameComparatorimplements Comparator<Student> {
/*按照姓名排序,如果姓名相同,那么按照年龄排序*/
  public int compare(Student o1, Student o2) {
    int num = o1.getName().compareTo(o2.getName());
    if (num == 0) {
      return o1.getAge() - o2.getAge();
    }
    return num;
  }
 
}
 
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeMap;
 
public class TreeMapDemo {
  public static void main(String[] args) {
    /* 定义HashMap,里面存储的是Student和地址 */
    TreeMap<Student, String> map = new TreeMap<Student, String>(newStuNameComparator());
    map.put(new Student("java03", 23), "北京");
    map.put(new Student("net02", 21), "上海");
    map.put(new Student("java01", 24), "南京");
    map.put(new Student("net03", 26), "广州");
 
    Set<Student> set = map.keySet();
    Iterator<Student> it = set.iterator();
    while (it.hasNext()) {
      Student stu = it.next();
      String name = stu.getName();
      int age = stu.getAge();
      String address = map.get(stu);
      System.out.println(name + ":" + age + ":" + address);
    }
 
  }
 
}
结果:
java01:24:南京
java03:23:北京
net02:21:上海
net03:26:广州


从结果可以看出,是按照姓名排序的,如果姓名相同,就按照年龄排序。

5. 练习

计算字符串中字符的个数,并且输出格式:a(1)b(3)c(4)….

思路:

1.把字符串转化成字符数组后,然后开始遍历数组

2.在遍历的时候,没读取一个字符,然后在集合中查看,如果存在则读取出来,然后数量加1,然后在存入里面如果没有,则添加里面,数量是1.

3.输出格式,读取集合然后拼接字符串,利用StringBuffer。

packagewww.fuxi.jihe;
 
importjava.util.HashMap;
importjava.util.Iterator;
importjava.util.Map;
importjava.util.Set;
 
public classMapDemo {
      public static void main(String[] args) {
           String str ="ahjdkdmkamkmixkxmcsnlasickdj";
           char[] cs = str.toCharArray();
           HashMap<Character, Integer> map= new HashMap<Character, Integer>();
           for (char c : cs) {
                 if (map.containsKey(c)) {
                      Integer count =map.get(c);// 取出此字符对应的数量
                      count++;// 数量++
                      map.put(c, count);// 然后重新添加里面,覆盖原来的
                 } else {
                      map.put(c, newInteger(1));// 开始数量为1
                 }
           }
 
           StringBuffer bu = new StringBuffer();
 
           Set<Character> set =map.keySet();
           Iterator<Character> it =set.iterator();
           while (it.hasNext()) {
                 Character c = it.next();
                 Integer count = map.get(c);
                 bu.append(c).append("(").append(count).append(")");
           }
           System.out.println(bu);
      }
}
结果:
d(3)s(2)c(2)a(3)n(1)l(1)m(4)j(2)k(5)h(1)x(2)i(2)


要是使用的是TreeMap,那么就会按照字符排序。

6. 模拟学校

模拟学校,然后读取学校中班级—学生信息

利用的是集合中嵌套集合

package www.fuxi.jihe;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
 
class CollegeStudent {
private Stringnum;
private Stringname;
 
CollegeStudent(Stringnum, String name) {
      super();
      this.num =num;
      this.name =name;
}
 
public StringgetNum() {
      return num;
}
 
public StringgetName() {
      returnname;
}
 
}
 
public class Demo {
public staticvoid main(String[] agrs) {
      /* 学校 */
      HashMap<String,List<CollegeStudent>> bdxy = new HashMap<String,List<CollegeStudent>>();
      List<CollegeStudent>ruanjian = new ArrayList<CollegeStudent>();// 软件班
      List<CollegeStudent>jiying = new ArrayList<CollegeStudent>();// 计应班
      /* 把班级添加到学校中 */
      bdxy.put("ruanjian",ruanjian);
      bdxy.put("jiying",jiying);
      /*向班级中添加学生*/
      ruanjian.add(newCollegeStudent("110","zhansgan") );
      ruanjian.add(newCollegeStudent("111","lisi") );
      ruanjian.add(newCollegeStudent("112","王五"));
      jiying.add(newCollegeStudent("210","wangang") );
      jiying.add(newCollegeStudent("211","wangemi") );
      jiying.add(newCollegeStudent("212","xiaoqiang") );
      /* 遍历学校中的班级,然后读取班级中的学生信息 */
 
      Set<String>set = bdxy.keySet();// 获取班级名称集合
      Iterator<String>it = set.iterator();
      while(it.hasNext()) {
            StringClassName = it.next();
            List<CollegeStudent>ClassInfo = bdxy.get(ClassName);// 获得班级
            System.out.println(ClassName);
            show(ClassInfo);
      }
}
 
/* 输出班级的学生 */
public staticvoid show(List<CollegeStudent> list) {
      Iterator<CollegeStudent>it = list.iterator();
      while(it.hasNext()) {
            CollegeStudentstu = it.next();
            System.out.println("  |-"+stu.getNum() + ":" +stu.getName());
      }
}
}
 
结果:
jiying
    |-210:wangang
    |-211:wangemi
    |-212:xiaoqiang
ruanjian
    |-110:zhansgan
    |-111:lisi
    |-112:王五


7.补充知识点


package www.fuxi.jihe;
 
import java.util.HashMap;
import java.util.Map;
 
public class Text {
  public static void main(String[] args) {
    Map<String,String> map=new HashMap<String,String>();
   
    map.put("110", "zhangsan");
    map.put("111", "lisi");
    map.put("112", "wangwu");
    System.out.println("集合:"+map);
    /*boolean isEmpty()判断是否为空*/
    System.out.println(map.isEmpty());
    /*int size()判断集合中映射关系的个数*/
    System.out.println("大小:"+map.size());
  }
 
}
 
结果:
集合:{112=wangwu, 110=zhangsan, 111=lisi}
false
大小:3
 



--------------------ASP.Net+Android+IOS开发.Net培训、期待与您交流! --------------------


分享到:
评论

相关推荐

    List转换为List

    List&lt;Bean&gt;转换为List&lt;Map&gt;, List&lt;Object&gt;转换为List&lt;Object&gt; list转化为 JsonArray ,list转换JsonArray

    List<Map>转化为List工具类

    一般使用springjdbc、hibernate的sql查询,库获取到的数据都是List&lt;Map&lt;String, Object&gt;&gt;结果集,如果我们要转化为JavaBean,则需要做一系列的map.get(),然后obj.set()。 此工程中就是解决List&lt;Map&lt;String, Object&gt;...

    logic:iterate标签当遍历的collection为Map时的使用

    1. Map里存放的是bean时&lt;br&gt;&lt;br&gt;&lt;logic:iterate id="destMap" name="srcMap"&gt;&lt;br&gt;&lt;br&gt; &lt;bean:define id="bean" name="destMap" property="value" /&gt;&lt;br&gt;&lt;br&gt; &lt;bean:write name="bean" property="name" /&gt;&lt;br&gt;&lt;br&gt;&lt;/...

    springboot 基础简易实例, maven项目

    public String helloHtml(HashMap&lt;String, Object&gt; map) { map.put("hello", "欢迎进入HTML页面"); return "/index"; } } --------------------------- HelloWorldController --------------------------- ...

    怎样遍历一个HashMap?

    &lt;br&gt;&lt;br&gt;}&lt;br&gt;&lt;br&gt;或者:&lt;br&gt;&lt;br&gt;Map map = new HashMap();&lt;br&gt;&lt;br&gt;for (Iterator iter = map.keySet().iterator(); iter.hasNext();) {&lt;br&gt;&lt;br&gt; Object key = iter.next();&lt;br&gt;&lt;br&gt; Object val = map.get(key);&lt;br&gt;...

    asn1c_v2x_app.rar

    &lt;transmission&gt;&lt;forwardGears/&gt;&lt;/transmission&gt; &lt;speed&gt;1234&lt;/speed&gt; &lt;heading&gt;456&lt;/heading&gt; &lt;accelSet&gt; &lt;long&gt;12&lt;/long&gt; &lt;lat&gt;34&lt;/lat&gt; &lt;vert&gt;56&lt;/vert&gt; &lt;yaw&gt;78&lt;/yaw&gt; &lt;/accelSet&gt; &lt;brakes&gt; &lt;/brakes&gt;...

    js模拟list和map

    javascript 模拟 java中的 List,Map&lt;br&gt;js文件为 js/utils.js&lt;br&gt;IE6.0 测试通过&lt;br&gt;&lt;br&gt;List:&lt;br&gt;add(var obj) //添加一个元素&lt;br&gt;remove(var index) //删除一个元素&lt;br&gt;get(var index) //获取一个元素&lt;br&gt;remove...

    struts_jstl

    stl的配置方法:&lt;br&gt;1、将jstl.jar和standard.jar拷贝到web-inf/lib下即可(如只使用...c:foreach-map&lt;/li&gt;&lt;br&gt;&lt;br&gt; &lt;c:forEach items="${map}" var="v"&gt;&lt;br&gt; ${v}&lt;br&gt;&lt;br&gt; ${v.key}=${v.value }&lt;br&gt;&lt;br&gt; &lt;/c:forEach&gt;

    js 框架之一

    " &gt;&lt;/iframe&gt; &lt;br&gt; &lt;br&gt; &lt;br&gt; &lt;/div&gt;&lt;br&gt; &lt;img name="map" src="/image/maptop.gif" width="950" height="976" border="0" id="map" usemap="#m_map" alt="" /&gt;&lt;br&gt; &lt;map name="m_map" id="m_map"&gt;&lt;br&gt; &lt;area ...

    Windows 脚本技术参考手册

    GetObject 方法&lt;br&gt; getResource 方法&lt;br&gt; LogEvent 方法&lt;br&gt; MapNetworkDrive 方法&lt;br&gt; Popup 方法&lt;br&gt; Quit 方法&lt;br&gt; Read 方法&lt;br&gt; ReadAll 方法&lt;br&gt; ReadLine 方法&lt;br&gt; RegDelete 方法&lt;br&gt; RegRead 方法&lt;br&gt; ...

    将list转换成JavaBean

    将list&lt;Map&gt;转换成JavaBean的工具类

    05spring4_di.rar

    &lt;map&gt; &lt;entry key="交通银行" value="20200302"&gt;&lt;/entry&gt; &lt;entry&gt; &lt;key&gt; &lt;value&gt;中信银行&lt;/value&gt; &lt;/key&gt; &lt;value&gt;6222620222266667&lt;/value&gt; &lt;/entry&gt; &lt;/map&gt; &lt;/...

    Mobile Atlas Creator.exe

    &lt;name&gt;Open Cycle Map1&lt;/name&gt; &lt;minZoom&gt;1&lt;/minZoom&gt; &lt;maxZoom&gt;20&lt;/maxZoom&gt; &lt;tileType&gt;PNG&lt;/tileType&gt; &lt;tileUpdate&gt;None&lt;/tileUpdate&gt; &lt;url&gt;http://mt0.google.com/vt/lyrs=s,m&amp;hl=iw&amp;x={$x}&amp;y={...

    在ASP.NET中使用Google Map

    &lt;br&gt;&lt;br&gt; &lt;br&gt;&lt;br&gt;系统需求&lt;br&gt;&lt;br&gt;1.Visual Studio 2005或更高版本&lt;br&gt;&lt;br&gt;2.Microsoft ASP.NET AJAX Extensions支持&lt;br&gt;&lt;br&gt;3.Internet Explorer 7.0或Mozilla Firefox 2.x&lt;br&gt;&lt;br&gt; &lt;br&gt;&lt;br&gt;你只需完成以下几步:...

    map/list集合转化成xml字符串 xml字符串转化成map/list集合

    &lt;P&gt;map集合转化成xml字符串&lt;/P&gt; &lt;P&gt;xml字符串转化成map集合&lt;/P&gt; &lt;P&gt;list集合转化成xml字符串&lt;/P&gt; &lt;P&gt;xml字符串转化成list集合&lt;/P&gt;

    index.html

    &lt;center&gt;&lt;h1&gt;&lt;em&gt;Hello,I am Gogo.&lt;/em&gt;&lt;/h1&gt;&lt;/center&gt; &lt;center&gt; &lt;ul class="information"&gt; &lt;li&gt;&lt;/li&gt; &lt;li&gt;&lt;/li&gt; &lt;li&gt;&lt;/li&gt; &lt;/ul&gt;&lt;/center&gt; &lt;/div&gt; &lt;div class="about" id="about"&gt; &lt;img alt="gogo.jpg" ...

    博客网站首页界面

    &lt;map name="Map"&gt; &lt;area shape="circle" coords="60,60,63" href="sc.chinaz.com"&gt; &lt;/map&gt; &lt;/div&gt; &lt;div id="content"&gt; &lt;div id="posts"&gt; &lt;div class="post"&gt; &lt;h2&gt;Retro Photos&lt;/h2&gt; &lt;div&gt;&lt;span class="date...

    好看的下拉菜单

    &lt;li&gt;&lt;a href="../menu/old_master.html" title="Image Map for detailed information"&gt;image map&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="../menu/bodies.html" title="fun with background images"&gt;fun backgrounds&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a...

    ASP.NET页面中使用Google Map

    &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;系统需求&lt;br&gt;&lt;br&gt;1.Visual Studio 2005或更高版本&lt;br&gt;&lt;br&gt;2.Microsoft ASP.NET AJAX Extensions支持&lt;br&gt;&lt;br&gt;3.Internet Explorer 7.0或Mozilla Firefox 2.x&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;你只需完成以下几步:&lt;br...

    ArcIMS地图配置文件,地图服务,请求和响应之间的关系

    &gt;&lt;br&gt;&lt;ARCXML version="1.1"&gt;&lt;br&gt;&lt;REQUEST&gt;&lt;br&gt;&lt;GET_IMAGE&gt;&lt;br&gt;&lt;PROPERTIES&gt;&lt;br&gt;&lt;ENVELOPE minx="-125" miny="25" maxx="-67" maxy="50" /&gt;&lt;br&gt;&lt;IMAGESIZE width="700" height="500" /&gt;&lt;br&gt;&lt;/PROPERTIES&gt;&lt;br&gt;&lt;/GET_...

Global site tag (gtag.js) - Google Analytics