-
student不是comparable接口的实现类
所以不能sort(student)
查看全部 -
Arrays类
Collections类 sort方法
list<integer> integer=new arrayslist<integer>;
Collections.sort(integerlist);
random random=new random();
integer k=random.nextint(100);
integerlist.contains(k);
字符串比较先比较第一个字母,如果第一个字母相等在比较第二个字母
0-9 A-Z a-z
查看全部 -
Comparator接口的使用举例
查看全部 -
Comparable接口
查看全部 -
containsKey: students.containsKey(id)
containsValue students.containsValue(new Student(null,name))
重写student类的equal方法
查看全部 -
list indexOf
coursesToSelect.indexOf(course2)
有重复的元素只返回第一次出现的索引
lastIndexOf返回某一元素最后出现的索引位置
从0开始遍历,equals返回索引
查看全部 -
hashSet的contains方法先调用hashcode()方法判断hash码是否相同,如果相同在调用equals()方法
自动生成重写hashCode()方法
查看全部 -
判断是否包含某个元素:contains
Course course=courseToSelect.get(0);
courseToSelect.contains(course)
返回true
如果新创建一个id和name都相同的course2对象courseToSelect.contains(course)
返回false,内容相同对象不同
在course类中重写equals方法,重写之后内容相同即可返回true
@Override
public boolean equals(Object obj)
{
if(this==obj)return true;
if(obj==null)return false;
if(!(obj instanceof Course))return false;
Course course=(Course)obj;
if(this.name==null)
{
if(course.name==null)return true;
else return false;
}
else{
if(this.name.equals(course.name))return true;
else return false;
}
}
从键盘输入课程名称并判断:
String name=console.next();
Course course2=new Course();
course2.name=name;
查看全部 -
put增加或更改
students.put(stuID,newStudent);//studID需要已存在
查看全部 -
先判断key有没有对应的value
students.remove(key);
entrySet返回所有键值对的集合Entry类
Set<Entry<String,Student>> es=students.entrySet();
for(Entry<String,Student> e:es)
{
e.getKey();
e.getValue().name;
}
查看全部 -
public Map<String,student> students;
public MapTest(){
this.students=new HashMap<String,Student>();
}
输入ID,若ID被占用则提示输入新ID,没有则创建并添加
students.get(ID);//若ID存在则返回对应的value值
Student std=new Student(ID,name);
students.put(ID,std);//增加
students.get(ID).name
Set<String> keySet=students.keySet();//返回String类型(Map中所有键)的Set集合
for(String st:keySet){
Student std =student.get(st);
if(std!=null)
st.name}
students.size();
查看全部 -
键不可以重复,value可以,一个key 只能映射到一个value,一个value可以映射多个key
map支持泛型,形式如:Map<K,V>
put(K key,V value)
remove(object key)
keySet()返回key值集合
values()返回values值集合
entrySet()返回entrySet值集合
查看全部 -
set无序,不能重复,不能在某个索引处增加或删除值,不能修改某个索引处的值,没有set,get方法,只能使用foreach或者iterator遍历,每次遍历输出结果不同,重复输入元素不会报错也不会存储,只保留第一次添加的对象,可以添加空对象
public Set<Course> courses;
this.courses-new HashSet<Course>();
Scanner console=new Scanner(System.in);//util.Scanner
String courseID=console.next();
for(Course cr:CoursesToSelect){
if(cr.id.equals(courseID))
{
student.coursrs.add(cr);
}
}
查看全部 -
有子类的父类必须有无参构造器
泛型集合可以添加泛型的子类型的对象实例
courseToSelect Course ChildCourse
ChildCourse ccr=new ChildCourse();
ccr.id="2";
ccr.name="sdvqwiuvdg";
泛型不能指定基本类型int,可以使用包装类integer
coursesToSelect.add(ccr);
查看全部 -
使用了泛型不用类型转换
public List<Course>courses;//带有泛型course的list
this.courses=new ArrayList<Course>();
使用泛型之后如果添加类型不正确则会直接提示错误,不使用泛型会在运行之后抛出异常
使用泛型之后取出list元素不用强制类型转换
查看全部
举报