用ArrayList来实现一个销售类,要求如下:
1.ArrayList记录的内容有:
产品编码,产品名称,数量,单价,小计
1001 橡皮擦 2 1.50 3.00
1002 笔记本 2 15.00 30.00
1003 钢笔 1 25.00 25.00
1003 铅笔 3 0.50 3.002.输入单:用ArrayList的添加方法增加新的记录
加一笔
1001 橡皮擦 2 1.50 3.00
1002 笔记本 2 15.00 30.00
1003 钢笔 1 25.00 25.00
1003 铅笔 3 0.50 3.00
1004 贴纸 2 1.00 2.00
3.删除其中一笔记录:用ArrayList的remove方法取消一笔
加一笔
1001 橡皮擦 2 1.50 3.00
1002 笔记本 2 15.00 30.00
1003 铅笔 3 0.50 3.00
1004 贴纸 2 1.00 2.004.然后加两个方法:getList()显示该帐下所有记录
返回所有记录
1001 橡皮擦 2 1.50 3.00
1002 笔记本 2 15.00 30.00
1003 铅笔 3 0.50 3.00
1004 贴纸 2 1.00 2.00
请大家把好的代码贴出来吧!!!
1.ArrayList记录的内容有:
产品编码,产品名称,数量,单价,小计
1001 橡皮擦 2 1.50 3.00
1002 笔记本 2 15.00 30.00
1003 钢笔 1 25.00 25.00
1003 铅笔 3 0.50 3.002.输入单:用ArrayList的添加方法增加新的记录
加一笔
1001 橡皮擦 2 1.50 3.00
1002 笔记本 2 15.00 30.00
1003 钢笔 1 25.00 25.00
1003 铅笔 3 0.50 3.00
1004 贴纸 2 1.00 2.00
3.删除其中一笔记录:用ArrayList的remove方法取消一笔
加一笔
1001 橡皮擦 2 1.50 3.00
1002 笔记本 2 15.00 30.00
1003 铅笔 3 0.50 3.00
1004 贴纸 2 1.00 2.004.然后加两个方法:getList()显示该帐下所有记录
返回所有记录
1001 橡皮擦 2 1.50 3.00
1002 笔记本 2 15.00 30.00
1003 铅笔 3 0.50 3.00
1004 贴纸 2 1.00 2.00
请大家把好的代码贴出来吧!!!
解决方案 »
- 获取IE标题高度---winform的----
- ASP.NET在本机上用IIS浏览 都需要按什么
- 怎么用webclient登陆https的系统
- 怎么在Console.WriteLine("发帖间隔为"+r.Next(6500,20000)+"毫秒")改变颜色
- c#怎样编写dxf文件
- 一个很简单的问题,请教各位大虾!
- 打印队列传回的值怎样转为时间模式显示?-C#(不好意思,我没分了.)
- 如何在C#中实现用SQL语句把一张表备份成一定格式的文本文件?(C#与SQL的应用)
- sos 我想在工作组中的另一台机器上创建Asp.net Web应用失败
- 紧急求助!!(c#控件)
- vs.net 2005 做的winform输入法默认切换出来后不能正常输入.是无效的.附解决方法和一个新问题..希望能彻底解决
- .net+accsess模糊查询问题
http://community.csdn.net/Expert/topic/4647/4647029.xml?temp=.5169031
如veryhappy(wx.net) 所说的产品类Product,可以定义为List<Product>
1001 橡皮擦 2 1.50 3.00
1002 笔记本 2 15.00 30.00
1003 铅笔 3 0.50 3.00
1004 贴纸 2 1.00 2.00怎么把上面的数据存到List里?添加或删除某一条记录方便吗?
————————————————————————————————————————
shuiboit(水波) ( ) 信誉:100 2006-04-08 22:04:00 得分: 0
楼上说的很好,如果你是使用 .net 2.0 开发新的代码,建议使用强类型List<T>类,该类与ArrayLis很类似,但<T>是强类型的。如List<String>,说明集合的元素必须是String类型。
如veryhappy(wx.net) 所说的产品类Product,可以定义为List<Product>
能否详细说明,怎么实现
{
public string id
{
set{}
get{}
}
......
......
}
list<Product> Ps=new list<Product>();
Product p=new Product();
ps.add(p);
误会啦,不是老师出题!
public class Product
{
public string id
{
set{}
get{}
}
......
......
}
list<Product> Ps=new list<Product>();
Product p=new Product();
ps.add(p);
C#里有 list<Product> Ps=new list<Product>(); 这样的语法吗?
不会出错吗?
谢谢
using System.Collections;namespace SUYUAN.PBJCXT.Collection
{
/// <summary>
/// A_ALERTINFO 的摘要说明。
/// </summary>
public class A_ALERTINFO:CollectionBase
{
public A_ALERTINFO()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public SUYUAN.PBJCXT.Entity.A_ALERTINFO this[int index]
{
get {return (SUYUAN.PBJCXT.Entity.A_ALERTINFO)List[index];}
set {List[index] = value;}
}
public int Add(SUYUAN.PBJCXT.Entity.A_ALERTINFO value)
{
return (List.Add(value));
}
public int IndexOf(SUYUAN.PBJCXT.Entity.A_ALERTINFO value)
{
return (List.IndexOf(value));
}
public void Insert(int index, SUYUAN.PBJCXT.Entity.A_ALERTINFO value)
{
List.Insert(index, value);
}
public void Remove(SUYUAN.PBJCXT.Entity.A_ALERTINFO value)
{
List.Remove(value);
}
public bool Contains(SUYUAN.PBJCXT.Entity.A_ALERTINFO value)
{
return (List.Contains(value));
}
}
}
VS2005我在CSDN上找了上面这个朋友的代码,大家认为这个例子怎么样?
public class MyClass
{
private string name;
private int id;
private int age;
public string Name
{
get { return name; }
set { name = value; }
}
public int ID
{
get { return id; }
set { id = value; }
}
public int Age
{
get { return age; }
set { age = value; }
}
}MyClass cls;
List<MyClass> al = new List<MyClass>();for (int i = 0; i < 10; i++)
{
cls = new MyClass();
cls.Name = "a" + i;
cls.ID = i;
cls.Age = 20 + i;
al.Add(cls);
}BindingSource bs = new BindingSource();
bs.DataSource = al;dataGridView1.DataSource = al;
楼主的产品编码若唯一,就可以用这个编码作为查询ID。其中SortedList(或SortedList<TKey, TValue>)能够保持ID排序,于是就可以用平均O(Log(N))的复杂度进行ID的查询,同时保持排序又便于遍历。这个容器很可能是某种树型数据结构。
如果不要求排序,仅仅要求按照关键字查询快速,那么Hashtable(或Dictionary<TKey, TValue>)这种散列结构就更快。
若楼主满足于这种,那么可以用int作为产品编码,然后用一个小结构或类储存其余字段。
若楼主需要按照所有字段查询,那么需要用非常复杂的数据结构,比如k-d树。当然,对性能要求不高的话,DataTable也是很好的选择。
只是ArrayList或List<T>,没看出有什么优势
我有说哪个数据结构是完善的了?我有说要比较Hashtable和List<T>了?
当然测一测也是有好处的,这里结论仍然不是普通人随便想象就能猜出的。
我说的“这里结论仍然不是普通人随便想象就能猜出的。”就表示你应该实验,而且要遵循科学精神,别把特例当结论。
数据是我测的,但是我凭什么要在你这种口气的要求下共享给你?PS. 我知道你说的Hashtable是什么时候慢,而且我刚才恰好解释的就是那个问题。
从4一路自增长到700000(七十万)和设置初始大小为700000相比,只慢了300ms左右,觉得可以接受。
一直就很佩服.NET Fx这些容器的设计,原来自己写过快速排序,按照现代观点作了很多优化,却仍然只有Array.Sort一半。
从4一路自增长到700000(七十万)和设置初始大小为700000相比,只慢了300ms左右,觉得可以接受。
一直就很佩服.NET Fx这些容器的设计,原来自己写过快速排序,按照现代观点作了很多优化,却仍然只有Array.Sort一半。==================================================.NET应该是用Native代码来执行的,速度当然……