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]);
}
}
}
12 10 35 100
12 10 35 100
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");
/*******重置set(int index,Object element)*******/
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");
/*******中间插队add(int index,Object element)*******/
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");
/*******中间删除元素remove(int index)*******/
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
var set2 = mutable.Set.empty[Int]
set2 += 10
set2 ++= List(50,100,200)
set2 += 500
println("Set输出的结果:")
println(set2)
var map3 = mutable.Map.empty[String,Double]
map3 += "Spark"->90.0
map3 += "Hadoop"->80.0
map3 ++= 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)
/*键值对排序是根据key的值进行排序的,没有value的事情,让我联想到了MapReduce中排序的时候之所以根据k2
而不是v2的值进行排序,这是因为哈希映射内部决定的,而不是MapReduce决定的
呵呵!注意:排序区分大小写的哦!!!*/
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)
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()方法!--- 2 zhang IT.Student@1af2f973
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]
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.6 wangting 85.6 zhangsan 89.8 lisi 90.0
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.6 wangwu 60.6 wangting 85.6 lisi 90.0
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.5 wangwu 98.6 lisi 88.6 zhangsan 96.0 Java中自带的数据类型:相同的对象会覆盖! 测试用户自定义的数据类型--为重写两个方法之前: zhangsan 88.8 beijing wangwu 66.9 beijing lisi 88.8 beijing wangwu 66.9 beijing zhangsan 88.8 beijing lisi 88.8 beijing 如果没有重写:导致相同的对象不会被覆盖!
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 beijing zhangsan 88.8 beijing lisi 88.8 beijing 重写过后:相同的对象会被覆盖!
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;
}
}
true true true true false 488676694 1211729930
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
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);
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有