📄 stubll.java
字号:
package dian.ikeel.yin;
import java.util.Iterator;
import java.util.ListIterator;
import java.util.Collections;
import java.util.List;
import java.util.Comparator;
public class StuBLL {
private DoubleLinkList<Student> stulist;
private DataFile reader;
public StuBLL()
{
this.reader=getReader();
this.stulist=reader.getStudentList();
}
public void sortBySerial()
{
Collections.sort((List)getStulist(),new Comparator<Student>()
{public int compare(Student s1,Student s2)
{
if(!s1.getSerialnum().equals(s2.getSerialnum()))
{
return s1.getSerialnum().compareTo(s2.getSerialnum());
}
else if(!s1.getName().equals(s2.getName()))
{
//deleteByUuid(s2.getUuid());
//return Collections.sort((List)getStulist());
return s1.getName().compareTo(s2.getName());
}
else
{
//deleteByUuid(s2.getUuid());
//return sortBySerial();
//return s1.getName().compareTo(s2.getName());
return 0;
}
}
});
}
public void sortByName()
{
Collections.sort((List)getStulist(),new Comparator<Student>()
{public int compare(Student s1,Student s2)
{
if(!s1.getName().equals(s2.getName()))
{
return s1.getName().compareTo(s2.getName());
}
else if(!s1.getSerialnum().equals(s2.getSerialnum()))
{
//deleteByUuid(s2.getUuid());
//return Collections.sort((List)getStulist());
return s1.getSerialnum().compareTo(s2.getSerialnum());
}
else
{
//deleteByUuid(s2.getUuid());
//return sortBySerial();
//return s1.getName().compareTo(s2.getName());
return 0;
}
}
});
}
public void sortBySex()
{
Collections.sort((List)getStulist(),new Comparator<Student>()
{public int compare(Student s1,Student s2)
{
if(s1.getSex()!=s2.getSex())
return s1.getAge()-s2.getAge();
else if(!s1.getName().equals(s2.getName()))
{
return s1.getName().compareTo(s2.getName());
}
else if(!s1.getSerialnum().equals(s2.getSerialnum()))
{
//deleteByUuid(s2.getUuid());
//return Collections.sort((List)getStulist());
return s1.getSerialnum().compareTo(s2.getSerialnum());
}
else
{
//deleteByUuid(s2.getUuid());
//return sortBySerial();
//return s1.getName().compareTo(s2.getName());
return 0;
}
}
});
}
public void sortByUUID()
{
Collections.sort((List)getStulist(),new Comparator<Student>()
{public int compare(Student s1,Student s2)
{
if(!s1.getUuid().equals(s2.getUuid()))
{
return s1.getUuid().compareTo(s2.getUuid());
}
else if(!s1.getSerialnum().equals(s2.getSerialnum()))
{
return s1.getSerialnum().compareTo(s2.getSerialnum());
}
else if(!s1.getName().equals(s2.getName()))
{
//deleteByUuid(s2.getUuid());
//return Collections.sort((List)getStulist());
return s1.getName().compareTo(s2.getName());
}
else
{
//deleteByUuid(s2.getUuid());
//return sortBySerial();
//return s1.getName().compareTo(s2.getName());
return 0;
}
}
});
}
public void refreshData()
{
}
public void insertStudentLast(Student s)
{
//stulist.addLast(s);
getReader().addOrUpdate(s);
//reader.writeInAStudent(s);
}
public void insertStudentFirst(Student s)
{
//stulist.addFirst(s);
getReader().addOrUpdate(s);
//reader.writeInAStudent(s);
}
public DoubleLinkList<Student> findByUuid(String uuid)
{
DoubleLinkList<Student> result=new DoubleLinkList<Student>();
ListIterator<Student> listitr=stulist.listIterator();
while(listitr.hasNext())
{
Student s=listitr.next();
if(s.getUuid().equals(uuid))
result.add(s);
}
return result;
}
public DoubleLinkList<Student> findBySerial(String serial)
{
DoubleLinkList<Student> result=new DoubleLinkList<Student>();
ListIterator<Student> listitr=getStulist().listIterator();
while(listitr.hasNext())
{
Student s=listitr.next();
if(s.getSerialnum().equals(serial))
result.add(s);
}
return result;
}
public DoubleLinkList<Student> findByName(String name)
{
DoubleLinkList<Student> result=new DoubleLinkList<Student>();
ListIterator<Student> listitr=getStulist().listIterator();
while(listitr.hasNext())
{
Student s=listitr.next();
if(s.getName().contains(name) ||name.contains(s.getName()))
result.add(s);
}
return result;
}
public DoubleLinkList<Student> findByClass(String classno)
{
DoubleLinkList<Student> result=new DoubleLinkList<Student>();
ListIterator<Student> listitr=stulist.listIterator();
while(listitr.hasNext())
{
Student s=listitr.next();
if(s.getClassNo().contains(classno) || classno.contains(s.getClassNo()))
result.add(s);
}
return result;
}
public void deleteBySerial(Student s)
{
getReader().deleteAStudent(s);
}
public DataFile getReader() {
return new DataFile();
}
public void setReader(DataFile reader) {
this.reader = reader;
}
public DoubleLinkList<Student> getStulist() {
return getReader().getStulist();
}
public void setStulist(DoubleLinkList<Student> stulist) {
this.stulist = stulist;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -