解决思路:
1.对进来的数据进行统计,flag=数据出现的次数
2.当某个元素的flag=5的时候,调用delete();--传入元素下标,和该数组值
3.delete(),功能的书写。
public class mysqlDf {/** * @param args */static List list=new ArrayList();//模拟数据库实时进来数据public static Listinit(int up){if(up==1){list.add("b");list.add("a");list.add("a");list.add("a");list.add("a");}if(up==2){list.add("b");list.add("a");list.add("a");list.add("a");list.add("a");list.add("a");}if(up==3){list.add("b");list.add("a");list.add("a");list.add("a");list.add("a");list.add("c");}return list;} //当元素出现次数为5的时候,返回这个元素第一次出现的下标值,并进行删除操作 public static void findFrist(List list, String code) { int flag=0; int i = 0; for (String s : list) { if (s.equals(code)) { i ++; } } if(i==5){ int j=0; //进行下标值的匹对 for(j=0;j<list.size()-1;j++){ if(code.equals((String)list.get(j))){ break; } } //进行删除操作 delete(j,list); } }//当flag==5,删除元素第一次出现的位置public static List delete(int firstInddex,List list2){list2.remove(firstInddex);return list2;}public static void main(String[] args) {// TODO Auto-generated method stubinit(2);//模拟数据库 中最后一位数据String endStr=(String)list.get(list.size()-1);findFrist(list,endStr);//输出数据结果for(int i =0 ; i <list.size(); i ++ ){System.out.println(list.get(i));} }}